Skip to content

Commit 67f421b

Browse files
Added support for query view in DAOGEN
1 parent 26bbc4c commit 67f421b

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

fj-core/src/main/java/org/fugerit/java/core/db/daogen/BasicDAOHelper.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import org.fugerit.java.core.db.dao.FieldFactory;
1616
import org.fugerit.java.core.db.dao.FieldList;
1717
import org.fugerit.java.core.db.dao.RSExtractor;
18+
import org.fugerit.java.core.lang.helpers.StringUtils;
1819
import org.fugerit.java.core.log.LogObject;
1920
import org.slf4j.Logger;
2021
import org.slf4j.LoggerFactory;
@@ -141,6 +142,17 @@ public BigDecimal newSequenceValue( String sequence ) throws DAOException {
141142
return id;
142143
}
143144

145+
public SelectHelper newSelectHelper( String queryView, String tableName ) {
146+
SelectHelper helper = null;
147+
if ( StringUtils.isNotEmpty( queryView ) ) {
148+
helper = new SelectHelper( tableName , this.newFieldList() );
149+
helper.appendToQuery( " SELECT * FROM ( "+queryView+" ) v " );
150+
} else {
151+
helper = newSelectHelper( tableName );
152+
}
153+
return helper;
154+
}
155+
144156
public SelectHelper newSelectHelper( String tableName ) {
145157
SelectHelper query = new SelectHelper( tableName , this.newFieldList() );
146158
query.initSelectEntity();

fj-core/src/main/java/org/fugerit/java/core/db/daogen/BasicDataFacade.java

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import org.fugerit.java.core.db.dao.idgen.BasicSeqIdGenerator;
88
import org.fugerit.java.core.db.dao.idgen.IdGeneratorFacade;
99
import org.fugerit.java.core.db.helpers.DAOID;
10+
import org.fugerit.java.core.lang.helpers.StringUtils;
1011
import org.slf4j.Logger;
1112
import org.slf4j.LoggerFactory;
1213

@@ -24,6 +25,8 @@ public String getSequenceName() {
2425
private static final long serialVersionUID = 5321073652254215522L;
2526

2627
private String tableName;
28+
29+
private String queryView;
2730

2831
private RSExtractor<T> rse;
2932

@@ -48,11 +51,25 @@ public String getTableName() {
4851
public RSExtractor<T> getRse() {
4952
return rse;
5053
}
54+
5155

52-
public BasicDataFacade(String tableName, RSExtractor<T> rse) {
56+
public String getQueryView() {
57+
return queryView;
58+
}
59+
60+
public BasicDataFacade(String tableName, RSExtractor<T> rse, String queryView) {
5361
super();
5462
this.tableName = tableName;
5563
this.rse = rse;
64+
if ( StringUtils.isNotEmpty( queryView ) ) {
65+
this.queryView = queryView;
66+
} else {
67+
this.queryView = null;
68+
}
69+
}
70+
71+
public BasicDataFacade(String tableName, RSExtractor<T> rse) {
72+
this( tableName, rse, null );
5673
}
5774

5875
public BasicDaoResult<T> loadAll( DAOContext context ) throws DAOException {

0 commit comments

Comments
 (0)