2121import static io .ebean .querybean .generator .Constants .TQASSOCBEAN ;
2222import static io .ebean .querybean .generator .Constants .TQPROPERTY ;
2323import static io .ebean .querybean .generator .Constants .TQROOTBEAN ;
24+ import static io .ebean .querybean .generator .Constants .TRANSACTION ;
2425import static io .ebean .querybean .generator .Constants .TYPEQUERYBEAN ;
2526
2627/**
@@ -77,6 +78,8 @@ private void gatherPropertyDetails() {
7778 importTypes .add (DATABASE );
7879 importTypes .add (FETCHGROUP );
7980 importTypes .add (QUERY );
81+ importTypes .add (TRANSACTION );
82+
8083 if (dbName != null ) {
8184 importTypes .add (DB );
8285 }
@@ -199,15 +202,6 @@ private void writeRootBeanConstructor() {
199202 writer .append (" }" ).eol ();
200203 writer .eol ();
201204
202- writer .eol ();
203- writer .append (" /**" ).eol ();
204- writer .append (" * Construct with a given Database." ).eol ();
205- writer .append (" */" ).eol ();
206- writer .append (" public Q%s(Database server) {" , shortName ).eol ();
207- writer .append (" super(%s.class, server);" , shortName ).eol ();
208- writer .append (" }" ).eol ();
209- writer .eol ();
210-
211205 String name = (dbName == null ) ? "default" : dbName ;
212206 writer .append (" /**" ).eol ();
213207 writer .append (" * Construct using the %s Database." , name ).eol ();
@@ -219,6 +213,27 @@ private void writeRootBeanConstructor() {
219213 writer .append (" super(%s.class, DB.byName(\" %s\" ));" , shortName , dbName ).eol ();
220214 }
221215 writer .append (" }" ).eol ();
216+ writer .eol ();
217+
218+ writer .append (" /**" ).eol ();
219+ writer .append (" * Construct with a given transaction." , name ).eol ();
220+ writer .append (" */" ).eol ();
221+ writer .append (" public Q%s(Transaction transaction) {" , shortName ).eol ();
222+ if (dbName == null ) {
223+ writer .append (" super(%s.class, transaction);" , shortName ).eol ();
224+ } else {
225+ writer .append (" super(%s.class, DB.byName(\" %s\" ), transaction);" , shortName , dbName ).eol ();
226+ }
227+ writer .append (" }" ).eol ();
228+
229+ writer .eol ();
230+ writer .append (" /**" ).eol ();
231+ writer .append (" * Construct with a given Database." ).eol ();
232+ writer .append (" */" ).eol ();
233+ writer .append (" public Q%s(Database database) {" , shortName ).eol ();
234+ writer .append (" super(%s.class, database);" , shortName ).eol ();
235+ writer .append (" }" ).eol ();
236+ writer .eol ();
222237
223238 writer .eol ();
224239 writer .append (" /**" ).eol ();
0 commit comments