This is an automated email from the ASF dual-hosted git repository.
aadamchik pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git
The following commit(s) were added to refs/heads/master by this push:
new 7d5f776 when testing SQLSelect prefetching, we need to include all
columns of the prefetched entity
7d5f776 is described below
commit 7d5f776cc95c45b409bde18b030191ac5585feb6
Author: Andrus Adamchik <[email protected]>
AuthorDate: Thu Jul 30 09:13:14 2020 +0300
when testing SQLSelect prefetching, we need to include all columns of the
prefetched entity
... otherwise the object is partial, even though Cayenne tells us it is not
(so theres actually an underlying bug there)
---
.../src/test/java/org/apache/cayenne/access/JointPrefetchIT.java | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git
a/cayenne-server/src/test/java/org/apache/cayenne/access/JointPrefetchIT.java
b/cayenne-server/src/test/java/org/apache/cayenne/access/JointPrefetchIT.java
index 1f34af5..d422d5a 100644
---
a/cayenne-server/src/test/java/org/apache/cayenne/access/JointPrefetchIT.java
+++
b/cayenne-server/src/test/java/org/apache/cayenne/access/JointPrefetchIT.java
@@ -395,8 +395,10 @@ public class JointPrefetchIT extends ServerCase {
public void testJointPrefetchSQLSelectToMany() throws Exception {
createJointPrefetchDataSet();
- @SuppressWarnings("unchecked")
- final List<Artist> objects = SQLSelect.query(Artist.class, "SELECT "
+ List<Artist> objects = SQLSelect.query(Artist.class, "SELECT "
+ + "#result('ESTIMATED_PRICE' 'BigDecimal' ''
'paintingArray.ESTIMATED_PRICE'), "
+ + "#result('PAINTING_TITLE' 'String' ''
'paintingArray.PAINTING_TITLE'), "
+ + "#result('GALLERY_ID' 'int' '' 'paintingArray.GALLERY_ID'), "
+ "#result('PAINTING_ID' 'int' ''
'paintingArray.PAINTING_ID'), "
+ "#result('ARTIST_NAME' 'String'), "
+ "#result('DATE_OF_BIRTH' 'java.util.Date'), "
@@ -405,8 +407,8 @@ public class JointPrefetchIT extends ServerCase {
+ "WHERE t0.ARTIST_ID = t1.ARTIST_ID")
.addPrefetch(Artist.PAINTING_ARRAY.joint())
.select(context);
+
queryInterceptor.runWithQueriesBlocked(() -> {
- assertNotNull(objects);
assertEquals(2, objects.size());
for (Artist artist : objects) {
@@ -414,6 +416,7 @@ public class JointPrefetchIT extends ServerCase {
assertTrue(paintings.size() > 0);
for (Painting painting : paintings) {
assertEquals(PersistenceState.COMMITTED,
painting.getPersistenceState());
+ assertNotNull(painting.getPaintingTitle());
}
}
});