|
16 | 16 | import static io.ebean.querybean.generator.Constants.AT_TYPEQUERYBEAN; |
17 | 17 | import static io.ebean.querybean.generator.Constants.DATABASE; |
18 | 18 | import static io.ebean.querybean.generator.Constants.DB; |
| 19 | +import static io.ebean.querybean.generator.Constants.FETCHGROUP; |
| 20 | +import static io.ebean.querybean.generator.Constants.QUERY; |
19 | 21 | import static io.ebean.querybean.generator.Constants.TQASSOCBEAN; |
20 | 22 | import static io.ebean.querybean.generator.Constants.TQPROPERTY; |
21 | 23 | import static io.ebean.querybean.generator.Constants.TQROOTBEAN; |
@@ -73,6 +75,8 @@ private void gatherPropertyDetails() { |
73 | 75 | importTypes.add(TQROOTBEAN); |
74 | 76 | importTypes.add(TYPEQUERYBEAN); |
75 | 77 | importTypes.add(DATABASE); |
| 78 | + importTypes.add(FETCHGROUP); |
| 79 | + importTypes.add(QUERY); |
76 | 80 | if (dbName != null) { |
77 | 81 | importTypes.add(DB); |
78 | 82 | } |
@@ -149,6 +153,8 @@ private void prepareAssocBeanImports() { |
149 | 153 | importTypes.remove(DB); |
150 | 154 | importTypes.remove(TQROOTBEAN); |
151 | 155 | importTypes.remove(DATABASE); |
| 156 | + importTypes.remove(FETCHGROUP); |
| 157 | + importTypes.remove(QUERY); |
152 | 158 | importTypes.add(TQASSOCBEAN); |
153 | 159 | if (isEntity()) { |
154 | 160 | importTypes.add(TQPROPERTY); |
@@ -182,6 +188,16 @@ private void writeConstructors() { |
182 | 188 | * Write the constructors for 'root' type query bean. |
183 | 189 | */ |
184 | 190 | private void writeRootBeanConstructor() { |
| 191 | + |
| 192 | + writer.eol(); |
| 193 | + writer.append(" /**").eol(); |
| 194 | + writer.append(" * Return a query bean used to build a FetchGroup.").eol(); |
| 195 | + writer.append(" */").eol(); |
| 196 | + writer.append(" public static Q%s forFetchGroup() {", shortName).eol(); |
| 197 | + writer.append(" return new Q%s(FetchGroup.queryFor(%s.class));", shortName, shortName).eol(); |
| 198 | + writer.append(" }").eol(); |
| 199 | + writer.eol(); |
| 200 | + |
185 | 201 | writer.eol(); |
186 | 202 | writer.append(" /**").eol(); |
187 | 203 | writer.append(" * Construct with a given Database.").eol(); |
@@ -210,6 +226,14 @@ private void writeRootBeanConstructor() { |
210 | 226 | writer.append(" private Q%s(boolean dummy) {", shortName).eol(); |
211 | 227 | writer.append(" super(dummy);").eol(); |
212 | 228 | writer.append(" }").eol(); |
| 229 | + |
| 230 | + writer.eol(); |
| 231 | + writer.append(" /**").eol(); |
| 232 | + writer.append(" * Private constructor for FetchGroup building.").eol(); |
| 233 | + writer.append(" */").eol(); |
| 234 | + writer.append(" private Q%s(Query<%s> fetchGroupQuery) {", shortName, shortName).eol(); |
| 235 | + writer.append(" super(fetchGroupQuery);").eol(); |
| 236 | + writer.append(" }").eol(); |
213 | 237 | } |
214 | 238 |
|
215 | 239 | private void writeAssocBeanFetch() { |
|
0 commit comments