Skip to content

Commit 750eccf

Browse files
authored
Merge pull request #213 from ebean-orm/feature/improvedQueryBeansSupport
Improved Query beans support (AssocOne and AssocMany)
2 parents 3a6a9b2 + a6a19d5 commit 750eccf

File tree

6 files changed

+19
-6
lines changed

6 files changed

+19
-6
lines changed

ebean-agent/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
<groupId>io.ebean</groupId>
1111
<artifactId>ebean-agent</artifactId>
12-
<version>14.5.1</version>
12+
<version>14.5.2</version>
1313
<packaging>jar</packaging>
1414

1515
<name>ebean-agent</name>

ebean-agent/src/main/java/io/ebean/enhance/common/EnhanceContext.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -490,6 +490,10 @@ public boolean supportsProfileWithLine() {
490490
return enhancementVersion >= 143; // Ebean 13.13.1 onwards
491491
}
492492

493+
public boolean improvedQueryBeans() {
494+
return enhancementVersion >= 145;
495+
}
496+
493497
public ProfileLineNumberMode profileLineMode() {
494498
return profileLineNumberMode;
495499
}

ebean-agent/src/main/java/io/ebean/enhance/querybean/TypeQueryClassAdapter.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,11 @@ public MethodVisitor visitMethod(int access, String name, String desc, String si
104104
return super.visitMethod(access, name, desc, signature, exceptions);
105105
}
106106
if (!typeQueryRootBean) {
107-
return handleAssocBeanConstructor(access, name, desc, signature, exceptions);
107+
if (enhanceContext.improvedQueryBeans()) {
108+
return super.visitMethod(access, name, desc, signature, exceptions);
109+
} else {
110+
return handleAssocBeanConstructor(access, name, desc, signature, exceptions);
111+
}
108112
}
109113
return new TypeQueryConstructorAdapter(classInfo, superName, getDomainClass(), cv, desc, signature);
110114
}
@@ -161,7 +165,9 @@ public void visitEnd() {
161165
}
162166
if (classInfo.isTypeQueryBean()) {
163167
if (!typeQueryRootBean) {
164-
classInfo.addAssocBeanExtras(cv, superName);
168+
if (!enhanceContext.improvedQueryBeans()) {
169+
classInfo.addAssocBeanExtras(cv, superName);
170+
}
165171
} else {
166172
enhanceContext.summaryQueryBean(className);
167173
}

ebean-agent/src/main/java/io/ebean/enhance/transactional/ProfileMethodInstruction.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,10 @@ private static boolean filterManyInit(String desc) {
7070
}
7171

7272
private boolean isAssocQueryBean(String owner) {
73-
return owner.contains("/query/assoc/QAssoc") || owner.endsWith("$Assoc");
73+
return owner.contains("/query/assoc/QAssoc")
74+
|| owner.endsWith("$Assoc")
75+
|| owner.endsWith("$AssocMany")
76+
|| owner.endsWith("$AssocOne");
7477
}
7578

7679
private boolean isNewUpdateQuery(String name, String desc) {

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
<groupId>io.ebean</groupId>
1111
<artifactId>ebean-agent-reactor</artifactId>
12-
<version>14.5.1</version>
12+
<version>14.5.2</version>
1313
<packaging>pom</packaging>
1414
<name>ebean agent reactor</name>
1515

test/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>io.ebean</groupId>
77
<artifactId>ebean-agent-reactor</artifactId>
8-
<version>14.5.1</version>
8+
<version>14.5.2</version>
99
</parent>
1010

1111
<artifactId>ebean-agent-test</artifactId>

0 commit comments

Comments
 (0)