From: <rfl...@us...> - 2006-09-28 20:31:45
|
Revision: 183 http://svn.sourceforge.net/salto-db/?rev=183&view=rev Author: rflament Date: 2006-09-28 13:31:31 -0700 (Thu, 28 Sep 2006) Log Message: ----------- Modified Paths: -------------- salto-db-generator/trunk/templates/ejb3/setter.vm salto-db-generator/trunk/templates/ejb3/variable.vm salto-db-generator/trunk/templates/hibernateejb3dao/dao.vm salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedao.vm Removed Paths: ------------- salto-db-generator/trunk/templates/ejb3/TODO Deleted: salto-db-generator/trunk/templates/ejb3/TODO =================================================================== --- salto-db-generator/trunk/templates/ejb3/TODO 2006-09-26 19:01:46 UTC (rev 182) +++ salto-db-generator/trunk/templates/ejb3/TODO 2006-09-28 20:31:31 UTC (rev 183) @@ -1,2 +0,0 @@ -manyToMany + jointables -when a foreign key is also primary key it's not well handled \ No newline at end of file Modified: salto-db-generator/trunk/templates/ejb3/setter.vm =================================================================== --- salto-db-generator/trunk/templates/ejb3/setter.vm 2006-09-26 19:01:46 UTC (rev 182) +++ salto-db-generator/trunk/templates/ejb3/setter.vm 2006-09-28 20:31:31 UTC (rev 183) @@ -37,12 +37,12 @@ this.${util.DoNameCreator.class2attribute($util.DoNameCreator.createDoName($colfk2.getPkTableName()))} = ${util.DoNameCreator.class2attribute($util.DoNameCreator.createDoName($colfk2.getPkTableName()))}; } +#end #set( $done = "true" ) #end #end #end #end -#end #if ($done=="false") #if ($util.getLength($jdoInfo.getPk()) > 1) #foreach($colpk in ${jdoInfo.getPk()}) Modified: salto-db-generator/trunk/templates/ejb3/variable.vm =================================================================== --- salto-db-generator/trunk/templates/ejb3/variable.vm 2006-09-26 19:01:46 UTC (rev 182) +++ salto-db-generator/trunk/templates/ejb3/variable.vm 2006-09-28 20:31:31 UTC (rev 183) @@ -12,12 +12,12 @@ */ private $util.DoNameCreator.createDoName($colfk2.getPkTableName()) ${util.DoNameCreator.class2attribute($util.DoNameCreator.createDoName($colfk2.getPkTableName()))}; +#end #set( $done = "true" ) #end #end #end #end -#end #if ($done=="false") #if ($util.getLength($jdoInfo.getPk()) > 1) #foreach($colpk in ${jdoInfo.getPk()}) Modified: salto-db-generator/trunk/templates/hibernateejb3dao/dao.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/dao.vm 2006-09-26 19:01:46 UTC (rev 182) +++ salto-db-generator/trunk/templates/hibernateejb3dao/dao.vm 2006-09-28 20:31:31 UTC (rev 183) @@ -37,7 +37,7 @@ /** * Find ${jdoInfo.javaClassName} by ${col.javaAttName} */ - public List<${jdoInfo.javaClassName}> findBy$util.doNameCreator.attribute2class($col.javaAttName)($col.javaAttClass ${col.javaAttName}); + public List<${jdoInfo.javaClassName}> findBy$util.doNameCreator.attribute2class($col.javaAttName)($col.getNonPrimitifClass() ${col.javaAttName}); #end #else @@ -52,7 +52,7 @@ /** * Find ${jdoInfo.javaClassName} by ${col.javaAttName} */ - public List<${jdoInfo.javaClassName}> findBy$util.doNameCreator.attribute2class($col.javaAttName)($col.javaAttClass ${col.javaAttName}); + public List<${jdoInfo.javaClassName}> findBy$util.doNameCreator.attribute2class($col.javaAttName)($col.getNonPrimitifClass() ${col.javaAttName}); #end #end Modified: salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedao.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedao.vm 2006-09-26 19:01:46 UTC (rev 182) +++ salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedao.vm 2006-09-28 20:31:31 UTC (rev 183) @@ -58,19 +58,59 @@ #if ($util.getLength($jdoInfo.getPk()) > 1) #foreach($col in ${jdoInfo.jdoColInfos}) +#set ($ispk="false") +#foreach($colpk in ${jdoInfo.getPk()}) +#if ($colpk.col.equals($col.colName)) +#set ($ispk="true") +#end +#end +#set ($isfk="false") +#foreach($colfk in ${jdoInfo.getImportedFk()}) +#foreach($colfk2 in $colfk) +#if($colfk2.getFkColumnName().equals($col.colName)) +#set ($isfk="true") /** * Find ${jdoInfo.javaClassName} by ${col.javaAttName} */ @SuppressWarnings("unchecked") - public List<${jdoInfo.javaClassName}> findBy$util.doNameCreator.attribute2class($col.javaAttName)($col.javaAttClass ${col.javaAttName}) { - Query q = session.createQuery("from ${jdoInfo.javaClassName} where ${col.javaAttName} = :${col.javaAttName}"); + public List<${jdoInfo.javaClassName}> findBy$util.doNameCreator.attribute2class($col.javaAttName)($col.getNonPrimitifClass() ${col.javaAttName}) { + Query q = session.createQuery("from ${jdoInfo.javaClassName} where $util.doNameCreator.class2attribute($util.doNameCreator.createDoName(${colfk2.getPkTableName()})).${colfk2.getPkColumnName()} = :${col.javaAttName}"); q.setParameter("${col.javaAttName}",${col.javaAttName}); q.setCacheable(true); return q.list(); } #end +#end +#end +#if ($isfk=="false" && $ispk=="false") + /** + * Find ${jdoInfo.javaClassName} by ${col.javaAttName} + */ + @SuppressWarnings("unchecked") + public List<${jdoInfo.javaClassName}> findBy$util.doNameCreator.attribute2class($col.javaAttName)($col.getNonPrimitifClass() ${col.javaAttName}) { + Query q = session.createQuery("from ${jdoInfo.javaClassName} where ${col.javaAttName} = :${col.javaAttName}"); + q.setParameter("${col.javaAttName}",${col.javaAttName}); + q.setCacheable(true); + return q.list(); + } + #else +#if ($ispk=="true") + /** + * Find ${jdoInfo.javaClassName} by ${col.javaAttName} + */ + @SuppressWarnings("unchecked") + public List<${jdoInfo.javaClassName}> findBy$util.doNameCreator.attribute2class($col.javaAttName)($col.getNonPrimitifClass() ${col.javaAttName}) { + Query q = session.createQuery("from ${jdoInfo.javaClassName} where id.${col.javaAttName} = :${col.javaAttName}"); + q.setParameter("${col.javaAttName}",${col.javaAttName}); + q.setCacheable(true); + return q.list(); + } +#end +#end +#end +#else #foreach($col in ${jdoInfo.jdoColInfos}) #set ($ispk="false") #foreach($colpk in ${jdoInfo.getPk()}) @@ -87,12 +127,13 @@ * Find ${jdoInfo.javaClassName} by ${col.javaAttName} */ @SuppressWarnings("unchecked") - public List<${jdoInfo.javaClassName}> findBy$util.doNameCreator.attribute2class($col.javaAttName)($col.javaAttClass ${col.javaAttName}) { + public List<${jdoInfo.javaClassName}> findBy$util.doNameCreator.attribute2class($col.javaAttName)($col.getNonPrimitifClass() ${col.javaAttName}) { Query q = session.createQuery("from ${jdoInfo.javaClassName} where $util.doNameCreator.class2attribute($util.doNameCreator.createDoName(${colfk2.getPkTableName()})).${colfk2.getPkColumnName()} = :${col.javaAttName}"); q.setParameter("${col.javaAttName}",${col.javaAttName}); q.setCacheable(true); return q.list(); } + #end #end #end @@ -101,12 +142,13 @@ * Find ${jdoInfo.javaClassName} by ${col.javaAttName} */ @SuppressWarnings("unchecked") - public List<${jdoInfo.javaClassName}> findBy$util.doNameCreator.attribute2class($col.javaAttName)($col.javaAttClass ${col.javaAttName}) { + public List<${jdoInfo.javaClassName}> findBy$util.doNameCreator.attribute2class($col.javaAttName)($col.getNonPrimitifClass() ${col.javaAttName}) { Query q = session.createQuery("from ${jdoInfo.javaClassName} where ${col.javaAttName} = :${col.javaAttName}"); q.setParameter("${col.javaAttName}",${col.javaAttName}); q.setCacheable(true); return q.list(); } + #end #end #end This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rfl...@us...> - 2006-10-09 17:57:00
|
Revision: 192 http://svn.sourceforge.net/salto-db/?rev=192&view=rev Author: rflament Date: 2006-10-09 10:56:36 -0700 (Mon, 09 Oct 2006) Log Message: ----------- Modified Paths: -------------- salto-db-generator/trunk/templates/ejb3/dataobject.vm salto-db-generator/trunk/templates/ejb3/setter.vm salto-db-generator/trunk/templates/hibernateejb3dao/hibernateutil.vm Added Paths: ----------- salto-db-generator/trunk/templates/ejb3/hibernate.cfg.xml.vm salto-db-generator/trunk/templates/hibernate/ salto-db-generator/trunk/templates/hibernate/mapping.hbm.vm Modified: salto-db-generator/trunk/templates/ejb3/dataobject.vm =================================================================== --- salto-db-generator/trunk/templates/ejb3/dataobject.vm 2006-10-09 17:55:54 UTC (rev 191) +++ salto-db-generator/trunk/templates/ejb3/dataobject.vm 2006-10-09 17:56:36 UTC (rev 192) @@ -4,6 +4,7 @@ import java.io.Serializable; import java.sql.Timestamp; +#if ($annotations=="true") import javax.persistence.Basic; import javax.persistence.Entity; import javax.persistence.GeneratedValue; @@ -17,6 +18,7 @@ import javax.persistence.OneToMany; import javax.persistence.Transient; import javax.persistence.Embeddable; +#end /** #if ($jdoInfo.tableShem) @@ -30,6 +32,7 @@ * @author salto-db-generator ${generatorVersion} * */ +#if ($annotations=="true") @Entity #if ($jdoInfo.tableCat) #if ($jdoInfo.tableShem) @@ -45,6 +48,7 @@ #end #end @SuppressWarnings("serial") +#end public class ${jdoInfo.javaClassName} implements Serializable { #parse("${templatePath}/variable.vm") @@ -58,8 +62,10 @@ * Generated at $date * @author salto-db-generator ${generatorVersion} */ +#if ($annotations=="true") @SuppressWarnings("serial") @Embeddable +#end public static class ${jdoInfo.javaClassName}PK implements Serializable { #foreach($col in ${jdoInfo.jdoColInfos}) @@ -79,7 +85,9 @@ /** * Return ${col.javaAttName} */ +#if ($annotations=="true") @Column(name = "$col.colName") +#end public $col.javaAttClass ${col.getterMethod()}() { return ${col.javaAttName}; } @@ -98,7 +106,9 @@ /** * calculate hashcode */ +#if ($annotations=="true") @Override +#end public int hashCode() { //TODO : implement this method @@ -108,7 +118,9 @@ /** * equals method */ +#if ($annotations=="true") @Override +#end public boolean equals(Object object) { //TODO : implement this method Added: salto-db-generator/trunk/templates/ejb3/hibernate.cfg.xml.vm =================================================================== --- salto-db-generator/trunk/templates/ejb3/hibernate.cfg.xml.vm (rev 0) +++ salto-db-generator/trunk/templates/ejb3/hibernate.cfg.xml.vm 2006-10-09 17:56:36 UTC (rev 192) @@ -0,0 +1,40 @@ +<!DOCTYPE hibernate-configuration PUBLIC + "-//Hibernate/Hibernate Configuration DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> + +<!-- This file has been generated by ${generatorVersion} at $date --> +<hibernate-configuration> + <session-factory> + + <!-- You need to complete the configuration here. This is just a sample, you should use a connection pool --> + <property name="connection.url">${connInfo.url}</property> + <property name="connection.username">${connInfo.user}</property> + <property name="connection.driver_class">${connInfo.driver}</property> +#if ($dialect.getDialect(${connInfo.conn.getMetaData().getDatabaseProductName()})) + <!-- Your database is ${connInfo.conn.getMetaData().getDatabaseProductName()}--> + <property name="dialect">$dialect.getDialect(${connInfo.conn.getMetaData().getDatabaseProductName()})</property> +#else + <!-- Your database is ${connInfo.conn.getMetaData().getDatabaseProductName()}. No dialect is known by Salto-db-generator for this database. + If you know what dialect to use, please send an email to rfl...@sa... and precise that the database is + "${connInfo.conn.getMetaData().getDatabaseProductName()}". Thank you. + --> + <property name="dialect"> SET THE DATABASE DIALECT HERE </property> +#end + <property name="connection.password">${connInfo.pwd}</property> + <property name="show_sql">true</property> + +#if ($annotations=="true") +#foreach($jdoInfo in ${jdoInfos}) + <mapping class="${pckName}.${jdoInfo.javaClassName}" /> +#if ($util.getLength($jdoInfo.getPk()) > 1) + <mapping class="${pckName}.${jdoInfo.javaClassName}\$${jdoInfo.javaClassName}PK" /> +#end +#end +#else +#foreach($jdoInfo in ${jdoInfos}) + <mapping file="${jdoInfo.javaClassName}.hbm.xml" /> +#end +#end + + </session-factory> +</hibernate-configuration> Modified: salto-db-generator/trunk/templates/ejb3/setter.vm =================================================================== --- salto-db-generator/trunk/templates/ejb3/setter.vm 2006-10-09 17:55:54 UTC (rev 191) +++ salto-db-generator/trunk/templates/ejb3/setter.vm 2006-10-09 17:56:36 UTC (rev 192) @@ -10,7 +10,10 @@ /** * get ${util.DoNameCreator.class2attribute($util.DoNameCreator.createDoName($colfk2.getPkTableName()))} */ +#if ($annotations=="true") @ManyToOne +#end +#if ($annotations=="true") #if ($util.getLength($colfk) > 1) @JoinColumns({ #set ($i=1) @@ -26,6 +29,7 @@ #else @JoinColumn(name = "$col.colName") #end +#end public ${util.DoNameCreator.createDoName($colfk2.getPkTableName())} get${util.DoNameCreator.createDoName($colfk2.getPkTableName())}() { return this.${util.DoNameCreator.class2attribute($util.DoNameCreator.createDoName($colfk2.getPkTableName()))}; } @@ -51,8 +55,10 @@ /** * Get the primary key */ +#if ($annotations=="true") @Basic @Id +#end public ${jdoInfo.javaClassName}PK get${jdoInfo.javaClassName}PK() { return this.${util.DoNameCreator.class2attribute($jdoInfo.javaClassName)}PK; } @@ -69,7 +75,9 @@ /** * @return ${col.javaAttName} */ +#if ($annotations=="true") @Transient +#end public $col.getNonPrimitifClass() ${col.getterMethod()}() { return this.${util.DoNameCreator.class2attribute($jdoInfo.javaClassName)}PK.${col.getterMethod()}(); } @@ -83,6 +91,7 @@ /** * @return ${col.javaAttName} */ +#if ($annotations=="true") @Basic #foreach($colpk in ${jdoInfo.getPk()}) #if ($colpk.col.equals($col.colName)) @@ -93,6 +102,7 @@ @GeneratedValue #end @Column(name = "$col.colName") +#end public $col.getNonPrimitifClass() ${col.getterMethod()}() { return ${col.javaAttName}; } @@ -114,6 +124,7 @@ /** * Get the list of $util.DoNameCreator.createDoName($colfk2.getFkTableName()) */ +#if ($annotations=="true") @OneToMany @JoinColumns({ #set ($i=1) @@ -126,6 +137,7 @@ #set ($i = $i+1) #end }) +#end public List<$util.DoNameCreator.createDoName($colfk2.getFkTableName())> get$util.DoNameCreator.createDoName($colfk2.getFkTableName())s() { return this.${util.DoNameCreator.class2attribute($util.DoNameCreator.createDoName($colfk2.getFkTableName()))}s; } @@ -144,8 +156,10 @@ /** * Get the list of $util.DoNameCreator.createDoName($colfk2.getFkTableName()) */ +#if ($annotations=="true") @OneToMany @JoinColumn(name = "$colfk2.getFkColumnName()") +#end public List<$util.DoNameCreator.createDoName($colfk2.getFkTableName())> get$util.DoNameCreator.createDoName($colfk2.getFkTableName())s() { return this.${util.DoNameCreator.class2attribute($util.DoNameCreator.createDoName($colfk2.getFkTableName()))}s; } Added: salto-db-generator/trunk/templates/hibernate/mapping.hbm.vm =================================================================== --- salto-db-generator/trunk/templates/hibernate/mapping.hbm.vm (rev 0) +++ salto-db-generator/trunk/templates/hibernate/mapping.hbm.vm 2006-10-09 17:56:36 UTC (rev 192) @@ -0,0 +1,103 @@ +<!DOCTYPE hibernate-configuration PUBLIC + "-//Hibernate/Hibernate Configuration DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> + +<!-- This file has been generated by ${generatorVersion} at $date --> +<hibernate-mapping package="${jdoInfo.javaPckName}"> + <class name="${jdoInfo.javaClassName}" table="${jdoInfo.tableName}"> + +#set( $sprimarykeydone = "false" ) +#foreach($col in ${jdoInfo.jdoColInfos}) +#set( $done = "false" ) +#if ($util.getLength(${jdoInfo.getImportedFk()}) > 0) +#foreach($colfk in ${jdoInfo.getImportedFk()}) +#foreach($colfk2 in $colfk) +#if($colfk2.getFkColumnName().equals($col.colName)) +#set ($done= "$fks.add($colfk2.fkName)" ) +#if ($done == "true") +#if ($util.getLength($colfk) > 1) + <many-to-one name="${util.DoNameCreator.class2attribute($util.DoNameCreator.createDoName($colfk2.getPkTableName()))}"> +#foreach($colfk3 in $colfk) + <column name="$colfk3.getFkColumnName()"/> +#end + </many-to-one> + +#else + <many-to-one name="${util.DoNameCreator.class2attribute($util.DoNameCreator.createDoName($colfk2.getPkTableName()))}" column="$col.colName"/> + +#end +#end +#set( $done = "true" ) +#end +#end +#end +#end +#if ($done=="false") +#if ($util.getLength($jdoInfo.getPk()) > 1) +#foreach($colpk in ${jdoInfo.getPk()}) +#if ($colpk.col.equals($col.colName)) +#if ($sprimarykeydone=="false") + <composite-id name="id" class="${jdoInfo.javaClassName}\$${jdoInfo.javaClassName}PK"> +#foreach($col in ${jdoInfo.jdoColInfos}) +#foreach($colpk in ${jdoInfo.getPk()}) +#if ($colpk.col.equals($col.colName)) + <key-property name="$col.javaAttName"/> +#end +#end +#end + </composite-id> + +#set( $sprimarykeydone = "true" ) +#end +#set( $done = "true" ) +#end +#end +#end +#end +#if ($done=="false") +#foreach($colpk in ${jdoInfo.getPk()}) +#if ($colpk.col.equals($col.colName)) + <id name="${col.javaAttName}"> +#if (${col.isAutoIncrement()}) + <generator class="native"/> +#end + </id> + +#set( $done = "true" ) +#end +#end +#end +#if ($done=="false") + <property name="${col.javaAttName}" column="$col.colName"/> + +#end +#end +#foreach($colfk in ${jdoInfo.getExportedFk()}) +#set ($fkdone="false") +#if ($util.getLength($colfk) > 1) +#foreach($colfk2 in $colfk) +#if ($fkdone=="false") + <set name="${util.DoNameCreator.class2attribute($util.DoNameCreator.createDoName($colfk2.getFkTableName()))}s" inverse="true"> + <key> +#foreach($colfk3 in $colfk) + <column name="$colfk3.getFkColumnName()"/> +#end + </key> + <one-to-many class="$util.DoNameCreator.createDoName($colfk2.getFkTableName())"/> + </set> + +#set ($fkdone="true") +#end +#end +#else +#foreach($colfk2 in $colfk) + <set name="${util.DoNameCreator.class2attribute($util.DoNameCreator.createDoName($colfk2.getFkTableName()))}s" inverse="true"> + <key column="$colfk2.getFkColumnName()"/> + <one-to-many class="$util.DoNameCreator.createDoName($colfk2.getFkTableName())"/> + </set> + +#end +#end +#end + </class> +</hibernate-mapping> \ No newline at end of file Modified: salto-db-generator/trunk/templates/hibernateejb3dao/hibernateutil.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/hibernateutil.vm 2006-10-09 17:55:54 UTC (rev 191) +++ salto-db-generator/trunk/templates/hibernateejb3dao/hibernateutil.vm 2006-10-09 17:56:36 UTC (rev 192) @@ -20,9 +20,11 @@ static { try { - +#if ($annotations=="true") sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory(); - +#else + sessionFactory = new Configuration().configure().buildSessionFactory(); +#end } catch (Throwable ex) { throw new ExceptionInInitializerError(ex); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rfl...@us...> - 2006-10-13 17:34:24
|
Revision: 194 http://svn.sourceforge.net/salto-db/?rev=194&view=rev Author: rflament Date: 2006-10-13 10:34:02 -0700 (Fri, 13 Oct 2006) Log Message: ----------- Modified Paths: -------------- salto-db-generator/trunk/templates/ejb3/dataobject.vm salto-db-generator/trunk/templates/ejb3/hibernate.cfg.xml.vm salto-db-generator/trunk/templates/hibernate/mapping.hbm.vm salto-db-generator/trunk/templates/hibernateejb3dao/abstracthibernatedao.vm salto-db-generator/trunk/templates/hibernateejb3dao/dao.vm salto-db-generator/trunk/templates/hibernateejb3dao/daofactory.vm salto-db-generator/trunk/templates/hibernateejb3dao/genericdao.vm salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedao.vm salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedaofactory.vm salto-db-generator/trunk/templates/hibernateejb3dao/hibernateutil.vm Modified: salto-db-generator/trunk/templates/ejb3/dataobject.vm =================================================================== --- salto-db-generator/trunk/templates/ejb3/dataobject.vm 2006-10-09 17:58:46 UTC (rev 193) +++ salto-db-generator/trunk/templates/ejb3/dataobject.vm 2006-10-13 17:34:02 UTC (rev 194) @@ -29,7 +29,7 @@ * ${jdoInfo.getTableRemarks()} * * Generated at $date - * @author salto-db-generator ${generatorVersion} + * @author ${generatorVersion} * */ #if ($annotations=="true") Modified: salto-db-generator/trunk/templates/ejb3/hibernate.cfg.xml.vm =================================================================== --- salto-db-generator/trunk/templates/ejb3/hibernate.cfg.xml.vm 2006-10-09 17:58:46 UTC (rev 193) +++ salto-db-generator/trunk/templates/ejb3/hibernate.cfg.xml.vm 2006-10-13 17:34:02 UTC (rev 194) @@ -32,7 +32,7 @@ #end #else #foreach($jdoInfo in ${jdoInfos}) - <mapping file="${jdoInfo.javaClassName}.hbm.xml" /> + <mapping resource="${jdoInfo.javaClassName}.hbm.xml" /> #end #end Modified: salto-db-generator/trunk/templates/hibernate/mapping.hbm.vm =================================================================== --- salto-db-generator/trunk/templates/hibernate/mapping.hbm.vm 2006-10-09 17:58:46 UTC (rev 193) +++ salto-db-generator/trunk/templates/hibernate/mapping.hbm.vm 2006-10-13 17:34:02 UTC (rev 194) @@ -1,10 +1,10 @@ -<!DOCTYPE hibernate-configuration PUBLIC - "-//Hibernate/Hibernate Configuration DTD 3.0//EN" - "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> +<!DOCTYPE hibernate-mapping PUBLIC + "-//Hibernate/Hibernate Mapping DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- This file has been generated by ${generatorVersion} at $date --> -<hibernate-mapping package="${jdoInfo.javaPckName}"> - <class name="${jdoInfo.javaClassName}" table="${jdoInfo.tableName}"> +<hibernate-mapping> + <class name="${jdoInfo.javaPckName}.${jdoInfo.javaClassName}" table="${jdoInfo.tableName}"> #set( $sprimarykeydone = "false" ) #foreach($col in ${jdoInfo.jdoColInfos}) @@ -37,7 +37,7 @@ #foreach($colpk in ${jdoInfo.getPk()}) #if ($colpk.col.equals($col.colName)) #if ($sprimarykeydone=="false") - <composite-id name="id" class="${jdoInfo.javaClassName}\$${jdoInfo.javaClassName}PK"> + <composite-id name="${util.DoNameCreator.class2attribute($jdoInfo.javaClassName)}PK" class="${jdoInfo.javaPckName}.${jdoInfo.javaClassName}\$${jdoInfo.javaClassName}PK"> #foreach($col in ${jdoInfo.jdoColInfos}) #foreach($colpk in ${jdoInfo.getPk()}) #if ($colpk.col.equals($col.colName)) @@ -77,24 +77,24 @@ #if ($util.getLength($colfk) > 1) #foreach($colfk2 in $colfk) #if ($fkdone=="false") - <set name="${util.DoNameCreator.class2attribute($util.DoNameCreator.createDoName($colfk2.getFkTableName()))}s" inverse="true"> + <bag name="${util.DoNameCreator.class2attribute($util.DoNameCreator.createDoName($colfk2.getFkTableName()))}s" inverse="true"> <key> #foreach($colfk3 in $colfk) <column name="$colfk3.getFkColumnName()"/> #end </key> - <one-to-many class="$util.DoNameCreator.createDoName($colfk2.getFkTableName())"/> - </set> + <one-to-many class="${jdoInfo.javaPckName}.$util.DoNameCreator.createDoName($colfk2.getFkTableName())"/> + </bag> #set ($fkdone="true") #end #end #else #foreach($colfk2 in $colfk) - <set name="${util.DoNameCreator.class2attribute($util.DoNameCreator.createDoName($colfk2.getFkTableName()))}s" inverse="true"> + <bag name="${util.DoNameCreator.class2attribute($util.DoNameCreator.createDoName($colfk2.getFkTableName()))}s" inverse="true"> <key column="$colfk2.getFkColumnName()"/> - <one-to-many class="$util.DoNameCreator.createDoName($colfk2.getFkTableName())"/> - </set> + <one-to-many class="${jdoInfo.javaPckName}.$util.DoNameCreator.createDoName($colfk2.getFkTableName())"/> + </bag> #end #end Modified: salto-db-generator/trunk/templates/hibernateejb3dao/abstracthibernatedao.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/abstracthibernatedao.vm 2006-10-09 17:58:46 UTC (rev 193) +++ salto-db-generator/trunk/templates/hibernateejb3dao/abstracthibernatedao.vm 2006-10-13 17:34:02 UTC (rev 194) @@ -10,7 +10,7 @@ /** * Generated at $date * - * @author salto-db-generator ${generatorVersion} + * @author ${generatorVersion} */ public abstract class AbstractHibernateDAO<T, ID extends Serializable> implements GenericDAO<T, ID> { Modified: salto-db-generator/trunk/templates/hibernateejb3dao/dao.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/dao.vm 2006-10-09 17:58:46 UTC (rev 193) +++ salto-db-generator/trunk/templates/hibernateejb3dao/dao.vm 2006-10-13 17:34:02 UTC (rev 194) @@ -21,7 +21,7 @@ /** * Generated at $date * - * @author salto-db-generator ${generatorVersion} + * @author ${generatorVersion} */ public interface ${jdoInfo.javaClassName}DAO extends GenericDAO<${jdoInfo.javaClassName},$pk> { Modified: salto-db-generator/trunk/templates/hibernateejb3dao/daofactory.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/daofactory.vm 2006-10-09 17:58:46 UTC (rev 193) +++ salto-db-generator/trunk/templates/hibernateejb3dao/daofactory.vm 2006-10-13 17:34:02 UTC (rev 194) @@ -6,7 +6,7 @@ * Generated at $date * * @see http://www.hibernate.org/328.html - * @author salto-db-generator ${generatorVersion} + * @author ${generatorVersion} */ public abstract class DAOFactory { Modified: salto-db-generator/trunk/templates/hibernateejb3dao/genericdao.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/genericdao.vm 2006-10-09 17:58:46 UTC (rev 193) +++ salto-db-generator/trunk/templates/hibernateejb3dao/genericdao.vm 2006-10-13 17:34:02 UTC (rev 194) @@ -6,7 +6,7 @@ /** * Generated at $date * - * @author salto-db-generator ${generatorVersion} + * @author ${generatorVersion} */ public interface GenericDAO<T, ID extends Serializable> { Modified: salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedao.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedao.vm 2006-10-09 17:58:46 UTC (rev 193) +++ salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedao.vm 2006-10-13 17:34:02 UTC (rev 194) @@ -27,7 +27,7 @@ /** * Generated at $date * - * @author salto-db-generator ${generatorVersion} + * @author ${generatorVersion} */ public class ${jdoInfo.javaClassName}HibernateDAO extends AbstractHibernateDAO<${jdoInfo.javaClassName}, $pk> implements Modified: salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedaofactory.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedaofactory.vm 2006-10-09 17:58:46 UTC (rev 193) +++ salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedaofactory.vm 2006-10-13 17:34:02 UTC (rev 194) @@ -9,7 +9,7 @@ * Generated at $date * * @see http://www.hibernate.org/43.html - * @author salto-db-generator ${generatorVersion} + * @author ${generatorVersion} */ public class HibernateDAOFactory extends DAOFactory { Modified: salto-db-generator/trunk/templates/hibernateejb3dao/hibernateutil.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/hibernateutil.vm 2006-10-09 17:58:46 UTC (rev 193) +++ salto-db-generator/trunk/templates/hibernateejb3dao/hibernateutil.vm 2006-10-13 17:34:02 UTC (rev 194) @@ -3,12 +3,16 @@ import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; +#if ($annotations=="true") import org.hibernate.cfg.AnnotationConfiguration; +#else +import org.hibernate.cfg.Configuration; +#end /** * Generated at $date * - * @author salto-db-generator ${generatorVersion} + * @author ${generatorVersion} */ public final class HibernateUtil { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rfl...@us...> - 2007-03-03 19:08:19
|
Revision: 264 http://svn.sourceforge.net/salto-db/?rev=264&view=rev Author: rflament Date: 2007-03-03 11:08:14 -0800 (Sat, 03 Mar 2007) Log Message: ----------- Modified Paths: -------------- salto-db-generator/trunk/templates/ejb3/dataobject.vm salto-db-generator/trunk/templates/hibernateejb3dao/abstracthibernatedao.vm salto-db-generator/trunk/templates/hibernateejb3dao/dao.vm salto-db-generator/trunk/templates/hibernateejb3dao/daofactory.vm salto-db-generator/trunk/templates/hibernateejb3dao/genericdao.vm salto-db-generator/trunk/templates/hibernateejb3dao/hibernate.cfg.xml.vm salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedao.vm salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedaofactory.vm salto-db-generator/trunk/templates/hibernateejb3dao/hibernateutil.vm Modified: salto-db-generator/trunk/templates/ejb3/dataobject.vm =================================================================== --- salto-db-generator/trunk/templates/ejb3/dataobject.vm 2007-03-03 17:47:22 UTC (rev 263) +++ salto-db-generator/trunk/templates/ejb3/dataobject.vm 2007-03-03 19:08:14 UTC (rev 264) @@ -22,9 +22,9 @@ /** #if ($jdoInfo.tableShem) - * <p>Pojo mapping table ${jdoInfo.tableShem}.${jdoInfo.tableName}</p> + * <p>Pojo mapping ${jdoInfo.tableType} ${jdoInfo.tableShem}.${jdoInfo.tableName}</p> #else - * <p>Pojo mapping table ${jdoInfo.tableName}</p> + * <p>Pojo mapping ${jdoInfo.tableType} ${jdoInfo.tableName}</p> #end #if ($jdoInfo.getTableRemarks()) * <p>${jdoInfo.getTableRemarks()}</p> Modified: salto-db-generator/trunk/templates/hibernateejb3dao/abstracthibernatedao.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/abstracthibernatedao.vm 2007-03-03 17:47:22 UTC (rev 263) +++ salto-db-generator/trunk/templates/hibernateejb3dao/abstracthibernatedao.vm 2007-03-03 19:08:14 UTC (rev 264) @@ -2,35 +2,63 @@ import ${pckName}.GenericDAO; import java.io.Serializable; +import java.lang.reflect.ParameterizedType; +import java.util.List; +import org.hibernate.Criteria; import org.hibernate.FlushMode; import org.hibernate.Query; import org.hibernate.LockMode; import org.hibernate.Session; +import org.hibernate.criterion.Criterion; +import org.hibernate.criterion.Example; /** * Generated at $date * * @author ${generatorVersion} + * @see http://www.hibernate.org/328.html */ public abstract class AbstractHibernateDAO<T, ID extends Serializable> implements GenericDAO<T, ID> { private Session session; - public AbstractHibernateDAO(Session s) { - session = s; + private Class<T> persistentClass; + + public AbstractHibernateDAO() { + this.persistentClass = (Class<T>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]; } - - public Session getSession() { - return session; - } + protected Session getSession() { + if (session == null) + session = HibernateUtil.getSessionFactory().getCurrentSession(); + return session; + } + + public Class<T> getPersistentClass() { + return persistentClass; + } + public void setSession(Session session) { this.session = session; } + @SuppressWarnings("unchecked") + public T getById(ID id) { + return (T) getSession().get(getPersistentClass(), id); + } + + @SuppressWarnings("unchecked") + public T getById(ID id, boolean lock) { + if (lock) { + return (T) getSession().get(getPersistentClass(), id, + LockMode.UPGRADE); + } else + return getById(id); + } + public void save(T entity) { -getSession().save(entity); + getSession().save(entity); } public void update(T entity) { @@ -42,17 +70,34 @@ } public void delete(T entity) { -getSession().delete(entity); + getSession().delete(entity); } public void delete(T entity, Boolean doItNow) { if (doItNow) { -getSession().setFlushMode(FlushMode.ALWAYS); + getSession().setFlushMode(FlushMode.ALWAYS); } delete(entity); } + @SuppressWarnings("unchecked") + public List<T> findAll() { + return findByCriteria(); + } + /** + * Use this inside subclasses as a convenience method. + */ + @SuppressWarnings("unchecked") + protected List<T> findByCriteria(Criterion... criterion) { + Criteria crit = getSession().createCriteria(getPersistentClass()); + for (Criterion c : criterion) { + crit.add(c); + } + return crit.list(); + } + + /** * This method will execute an HQL query and return the number of affected entities. */ protected int executeQuery(String query, String namedParams[], Object params[]) { @@ -90,4 +135,15 @@ return executeNamedQuery(namedQuery, null, null); } + @SuppressWarnings("unchecked") + public List<T> findByExample(T exampleInstance, String[] excludeProperty) { + Criteria crit = getSession().createCriteria(getPersistentClass()); + Example example = Example.create(exampleInstance); + for (String exclude : excludeProperty) { + example.excludeProperty(exclude); + } + crit.add(example); + return crit.list(); + } + } Modified: salto-db-generator/trunk/templates/hibernateejb3dao/dao.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/dao.vm 2007-03-03 17:47:22 UTC (rev 263) +++ salto-db-generator/trunk/templates/hibernateejb3dao/dao.vm 2007-03-03 19:08:14 UTC (rev 264) @@ -24,6 +24,7 @@ * <p>Generated at $date</p> * * @author ${generatorVersion} + * @see http://www.hibernate.org/328.html */ public interface ${jdoInfo.javaClassName}DAO extends GenericDAO<${jdoInfo.javaClassName},$pk> { Modified: salto-db-generator/trunk/templates/hibernateejb3dao/daofactory.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/daofactory.vm 2007-03-03 17:47:22 UTC (rev 263) +++ salto-db-generator/trunk/templates/hibernateejb3dao/daofactory.vm 2007-03-03 19:08:14 UTC (rev 264) @@ -15,6 +15,17 @@ public static final DAOFactory DEFAULT = HIBERNATE; + /** + * Factory method for instantiation of concrete factories. + */ + public static DAOFactory instance(Class factory) { + try { + return (DAOFactory)factory.newInstance(); + } catch (Exception ex) { + throw new RuntimeException("Couldn't create DAOFactory: " + factory); + } + } + #foreach($jdoInfo in ${jdoInfos}) public abstract ${jdoInfo.javaClassName}DAO build${jdoInfo.javaClassName}DAO(); Modified: salto-db-generator/trunk/templates/hibernateejb3dao/genericdao.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/genericdao.vm 2007-03-03 17:47:22 UTC (rev 263) +++ salto-db-generator/trunk/templates/hibernateejb3dao/genericdao.vm 2007-03-03 19:08:14 UTC (rev 264) @@ -7,6 +7,7 @@ * Generated at $date * * @author ${generatorVersion} + * @see http://www.hibernate.org/328.html */ public interface GenericDAO<T, ID extends Serializable> { Modified: salto-db-generator/trunk/templates/hibernateejb3dao/hibernate.cfg.xml.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/hibernate.cfg.xml.vm 2007-03-03 17:47:22 UTC (rev 263) +++ salto-db-generator/trunk/templates/hibernateejb3dao/hibernate.cfg.xml.vm 2007-03-03 19:08:14 UTC (rev 264) @@ -21,6 +21,9 @@ #end <property name="connection.password">${connInfo.pwd}</property> <property name="show_sql">true</property> + + <!-- Remove this property if you use JTA --> + <property name="current_session_context_class">org.hibernate.context.ThreadLocalSessionContext</property> #foreach($jdoInfo in ${jdoInfos}) <mapping class="${pckName}.pojo.${jdoInfo.javaClassName}" /> Modified: salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedao.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedao.vm 2007-03-03 17:47:22 UTC (rev 263) +++ salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedao.vm 2007-03-03 19:08:14 UTC (rev 264) @@ -11,7 +11,6 @@ #end import org.hibernate.Criteria; -import org.hibernate.LockMode; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.criterion.Restrictions; @@ -32,26 +31,11 @@ * <p>Generated at $date</p> * * @author ${generatorVersion} + * @see http://www.hibernate.org/328.html */ public class ${jdoInfo.javaClassName}HibernateDAO extends AbstractHibernateDAO<${jdoInfo.javaClassName}, $pk> implements ${jdoInfo.javaClassName}DAO { - - public ${jdoInfo.javaClassName}HibernateDAO(Session s) { - super(s); - } - - public ${jdoInfo.javaClassName} getById($pk id) { - return (${jdoInfo.javaClassName}) getSession().get(${jdoInfo.javaClassName}.class, id); - } - - public ${jdoInfo.javaClassName} getById($pk id, boolean lock) { - if (lock) { - return (${jdoInfo.javaClassName}) getSession().get(${jdoInfo.javaClassName}.class, id, - LockMode.UPGRADE); - } else - return getById(id); - } /** * Find ${jdoInfo.javaClassName} by criteria. @@ -98,13 +82,6 @@ return q.executeUpdate(); } - @SuppressWarnings("unchecked") - public List<${jdoInfo.javaClassName}> findAll() { - Query q = getSession().createQuery("from ${jdoInfo.javaClassName}"); - q.setCacheable(true); - return q.list(); - } - #if ($util.getLength($jdoInfo.getPk()) > 1) #foreach($col in ${jdoInfo.jdoColInfos}) #set ($ispk="false") Modified: salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedaofactory.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedaofactory.vm 2007-03-03 17:47:22 UTC (rev 263) +++ salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedaofactory.vm 2007-03-03 19:08:14 UTC (rev 264) @@ -19,7 +19,7 @@ */ @Override public ${jdoInfo.javaClassName}DAO build${jdoInfo.javaClassName}DAO() { - return new ${jdoInfo.javaClassName}HibernateDAO(HibernateUtil.getSession()); + return new ${jdoInfo.javaClassName}HibernateDAO(); } #end Modified: salto-db-generator/trunk/templates/hibernateejb3dao/hibernateutil.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/hibernateutil.vm 2007-03-03 17:47:22 UTC (rev 263) +++ salto-db-generator/trunk/templates/hibernateejb3dao/hibernateutil.vm 2007-03-03 19:08:14 UTC (rev 264) @@ -18,10 +18,6 @@ private static SessionFactory sessionFactory; - private static final ThreadLocal threadSession = new ThreadLocal(); - - private static final ThreadLocal threadTransaction = new ThreadLocal(); - static { try { #if ($annotations=="true") @@ -48,88 +44,4 @@ return sessionFactory; } - /** - * Retrieves the current Session local to the thread. <p/> If no Session is - * open, opens a new Session for the running thread. - * - * @return Session - */ - @SuppressWarnings("unchecked") - public static Session getSession() { - Session s = (Session) threadSession.get(); - - if (s == null) { - - s = getSessionFactory().openSession(); - - threadSession.set(s); - beginTransaction(); - } - - return s; - } - - /** - * Closes the Session local to the thread. - */ - @SuppressWarnings("unchecked") - public static void closeSession() { - - Session s = (Session) threadSession.get(); - threadSession.set(null); - if (s != null && s.isOpen()) { - - s.close(); - } - - } - - /** - * Start a new database transaction. - */ - @SuppressWarnings("unchecked") - public static void beginTransaction() { - Transaction tx = (Transaction) threadTransaction.get(); - - if (tx == null) { - - tx = getSession().beginTransaction(); - threadTransaction.set(tx); - } - - } - - /** - * Commit the database transaction. - */ - @SuppressWarnings("unchecked") - public static void commitTransaction() { - Transaction tx = (Transaction) threadTransaction.get(); - - if (tx != null && !tx.wasCommitted() && !tx.wasRolledBack()) { - - tx.commit(); - } - threadTransaction.set(null); - - } - - /** - * Rollback the database transaction. - */ - @SuppressWarnings("unchecked") - public static void rollbackTransaction() { - Transaction tx = (Transaction) threadTransaction.get(); - try { - threadTransaction.set(null); - if (tx != null && !tx.wasCommitted() && !tx.wasRolledBack()) { - - tx.rollback(); - } - - } finally { - closeSession(); - } - } - } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rfl...@us...> - 2007-03-09 15:32:34
|
Revision: 265 http://svn.sourceforge.net/salto-db/?rev=265&view=rev Author: rflament Date: 2007-03-09 07:32:11 -0800 (Fri, 09 Mar 2007) Log Message: ----------- spring plugins Added Paths: ----------- salto-db-generator/trunk/templates/springhibernatedao/ salto-db-generator/trunk/templates/springhibernatedao/applicationContext-hibernate.xml.vm salto-db-generator/trunk/templates/springhibernatedao/applicationContext-resources.xml.vm salto-db-generator/trunk/templates/springhibernatedao/applicationContext-test.xml.vm salto-db-generator/trunk/templates/springhibernatedao/genericdao.vm salto-db-generator/trunk/templates/springhibernatedao/springabstracthibernatedao.vm salto-db-generator/trunk/templates/springhibernatedao/springhibernatedao.vm salto-db-generator/trunk/templates/springhibernatedao/test.vm Added: salto-db-generator/trunk/templates/springhibernatedao/applicationContext-hibernate.xml.vm =================================================================== --- salto-db-generator/trunk/templates/springhibernatedao/applicationContext-hibernate.xml.vm (rev 0) +++ salto-db-generator/trunk/templates/springhibernatedao/applicationContext-hibernate.xml.vm 2007-03-09 15:32:11 UTC (rev 265) @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- This file has been generated by ${generatorVersion} at $date --> + +<beans xmlns="http://www.springframework.org/schema/beans" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> + + <!-- Hibernate SessionFactory --> + <bean id="sessionFactory" + class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> + <property name="dataSource" ref="dataSource" /> + <property name="annotatedClasses"> + <list> +#foreach($jdoInfo in ${jdoInfos}) + <value>${pckName}.pojo.${jdoInfo.javaClassName}</value> +#if ($util.getLength($jdoInfo.getPk()) > 1) + <value>${pckName}.pojo.${jdoInfo.javaClassName}\$${jdoInfo.javaClassName}PK</value> +#end +#end + </list> + </property> + <property name="hibernateProperties"> + <props> +#if ($dialect.getDialect(${connInfo.conn.getMetaData().getDatabaseProductName()})) + <!-- Your database is ${connInfo.conn.getMetaData().getDatabaseProductName()}--> + <prop key="hibernate.dialect">$dialect.getDialect(${connInfo.conn.getMetaData().getDatabaseProductName()})</prop> +#else + <!-- Your database is ${connInfo.conn.getMetaData().getDatabaseProductName()}. No dialect is known by Salto-db-generator for this database. + If you know what dialect to use, please send an email to rfl...@sa... and precise that the database is + "${connInfo.conn.getMetaData().getDatabaseProductName()}". Thank you. --> + <prop key="hibernate.dialect"> SET THE DATABASE DIALECT HERE </prop> +#end + <prop key="hibernate.query.substitutions">Y</prop> + <prop key="hibernate.show_sql">true</prop> + <!-- Turn batching off for better error messages under PostgreSQL + <prop key="hibernate.jdbc.batch_size">0</prop> --> + </props> + </property> + </bean> + + + <bean id="myHibernateInterceptor" + class="org.springframework.orm.hibernate3.HibernateInterceptor"> + <property name="sessionFactory"> + <ref local="sessionFactory" /> + </property> + </bean> + + <!-- Transaction manager for a single Hibernate SessionFactory (alternative to JTA) --> + <bean id="transactionManager" + class="org.springframework.orm.hibernate3.HibernateTransactionManager"> + <property name="sessionFactory" ref="sessionFactory" /> + </bean> +#foreach($jdoInfo in ${jdoInfos}) + + <bean id="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO" class="${pckName}.hibernate.${jdoInfo.javaClassName}HibernateDAO"> + <property name="sessionFactory" ref="sessionFactory" /> + </bean> +#end + +</beans> Added: salto-db-generator/trunk/templates/springhibernatedao/applicationContext-resources.xml.vm =================================================================== --- salto-db-generator/trunk/templates/springhibernatedao/applicationContext-resources.xml.vm (rev 0) +++ salto-db-generator/trunk/templates/springhibernatedao/applicationContext-resources.xml.vm 2007-03-09 15:32:11 UTC (rev 265) @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- This file has been generated by ${generatorVersion} at $date --> + +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:jee="http://www.springframework.org/schema/jee" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd + http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd"> + + <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> + <property name="driverClassName" value="${connInfo.driver}"/> + <property name="url" value="${connInfo.url}"/> + <property name="username" value="${connInfo.user}"/> + <property name="password" value="${connInfo.pwd}"/> + <property name="maxActive" value="100"/> + <property name="maxIdle" value="30"/> + <property name="maxWait" value="1000"/> + <property name="defaultAutoCommit" value="true"/> + <property name="removeAbandoned" value="true"/> + <property name="removeAbandonedTimeout" value="60"/> + </bean> + + + + <!-- JNDI DataSource for J2EE environments, replace XXXX by your pool name if needed --> + <!-- <jee:jndi-lookup id="dataSource" jndi-name="java:comp/env/jdbc/XXXXX"/> --> + + +</beans> Added: salto-db-generator/trunk/templates/springhibernatedao/applicationContext-test.xml.vm =================================================================== --- salto-db-generator/trunk/templates/springhibernatedao/applicationContext-test.xml.vm (rev 0) +++ salto-db-generator/trunk/templates/springhibernatedao/applicationContext-test.xml.vm 2007-03-09 15:32:11 UTC (rev 265) @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- This file has been generated by ${generatorVersion} at $date --> + +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> + + <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> + <property name="driverClassName" value="${connInfo.driver}"/> + <property name="url" value="${connInfo.url}"/> + <property name="username" value="${connInfo.user}"/> + <property name="password" value="${connInfo.pwd}"/> + </bean> + + +#foreach($jdoInfo in ${jdoInfos}) + <bean id="testEntity${jdoInfo.javaClassName}" class="${pckName}.pojo.${jdoInfo.javaClassName}"/> +#end + +#foreach($jdoInfo in ${jdoInfos}) + <bean id="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAOTest" class="${pckName}.test.${jdoInfo.javaClassName}DAOTest"/> +#end + +</beans> Added: salto-db-generator/trunk/templates/springhibernatedao/genericdao.vm =================================================================== --- salto-db-generator/trunk/templates/springhibernatedao/genericdao.vm (rev 0) +++ salto-db-generator/trunk/templates/springhibernatedao/genericdao.vm 2007-03-09 15:32:11 UTC (rev 265) @@ -0,0 +1,29 @@ +package $pckName; + +import java.io.Serializable; +import java.util.List; + +/** + * Generated at $date + * + * @author ${generatorVersion} + */ +public interface GenericDAO<T, ID extends Serializable> { + + T getById(ID id); + + List<T> findAll(); + + void save(T entity); + + void update(T entity); + + void saveOrUpdate(T entity); + + void delete(T entity); + + void delete(T entity, Boolean doItNow); + + int deleteById(ID id); + +} \ No newline at end of file Added: salto-db-generator/trunk/templates/springhibernatedao/springabstracthibernatedao.vm =================================================================== --- salto-db-generator/trunk/templates/springhibernatedao/springabstracthibernatedao.vm (rev 0) +++ salto-db-generator/trunk/templates/springhibernatedao/springabstracthibernatedao.vm 2007-03-09 15:32:11 UTC (rev 265) @@ -0,0 +1,79 @@ +package ${pckName}.hibernate; + +import ${pckName}.GenericDAO; +import java.io.Serializable; + +import org.hibernate.FlushMode; +import org.hibernate.Query; + +import org.springframework.orm.hibernate3.support.HibernateDaoSupport; + +/** + * Generated at $date + * + * @author ${generatorVersion} + */ +public abstract class AbstractHibernateDAO<T, ID extends Serializable> extends HibernateDaoSupport implements GenericDAO<T, ID> { + + public void save(T entity) { + getSession().save(entity); + } + + public void update(T entity) { + getSession().update(entity); + } + + public void saveOrUpdate(T entity) { + getSession().saveOrUpdate(entity); + } + + public void delete(T entity) { + getSession().delete(entity); + } + + public void delete(T entity, Boolean doItNow) { + if (doItNow) { + getSession().setFlushMode(FlushMode.ALWAYS); + } + delete(entity); + } + + /** + * This method will execute an HQL query and return the number of affected entities. + */ + protected int executeQuery(String query, String namedParams[], Object params[]) { + Query q = getSession().createQuery(query); + + if (namedParams != null) { + for (int i = 0; i < namedParams.length; i++) { + q.setParameter(namedParams[i], params[i]); + } + } + + return q.executeUpdate(); + } + + protected int executeQuery(String query) { + return executeQuery(query, null, null); + } + + /** + * This method will execute a Named HQL query and return the number of affected entities. + */ + protected int executeNamedQuery(String namedQuery, String namedParams[], Object params[]) { + Query q = getSession().getNamedQuery(namedQuery); + + if (namedParams != null) { + for (int i = 0; i < namedParams.length; i++) { + q.setParameter(namedParams[i], params[i]); + } + } + + return q.executeUpdate(); + } + + protected int executeNamedQuery(String namedQuery) { + return executeNamedQuery(namedQuery, null, null); + } + +} Added: salto-db-generator/trunk/templates/springhibernatedao/springhibernatedao.vm =================================================================== --- salto-db-generator/trunk/templates/springhibernatedao/springhibernatedao.vm (rev 0) +++ salto-db-generator/trunk/templates/springhibernatedao/springhibernatedao.vm 2007-03-09 15:32:11 UTC (rev 265) @@ -0,0 +1,191 @@ +package ${jdoInfo.javaPckName}.hibernate; + +import java.util.Map; +import java.util.List; +import java.sql.Timestamp; + +import ${jdoInfo.javaPckName}.pojo.${jdoInfo.javaClassName}; +import ${jdoInfo.javaPckName}.${jdoInfo.javaClassName}DAO; +#if ($util.getLength($jdoInfo.getPk()) > 1) +import ${jdoInfo.javaPckName}.pojo.${jdoInfo.javaClassName}.${jdoInfo.javaClassName}PK; +#end + +import org.hibernate.Criteria; +import org.hibernate.Query; +import org.hibernate.criterion.Restrictions; +#set ($pk="Long") +#foreach($col in ${jdoInfo.jdoColInfos}) +#foreach($colpk in ${jdoInfo.getPk()}) +#if ($colpk.col.equals($col.colName)) +#set ($pk=$util.getClassNameForPrimitive($col.javaAttClass)) +#end +#end +#end +#if ($util.getLength($jdoInfo.getPk()) > 1) +#set ($pk="${jdoInfo.javaClassName}PK") +#end + +/** + * <p>Hibernate DAO layer for ${jdoInfo.javaClassName}s</p> + * <p>Generated at $date</p> + * + * @author ${generatorVersion} + */ +public class ${jdoInfo.javaClassName}HibernateDAO extends + AbstractHibernateDAO<${jdoInfo.javaClassName}, $pk> implements + ${jdoInfo.javaClassName}DAO { + + public ${jdoInfo.javaClassName} getById($pk id) { + return (${jdoInfo.javaClassName}) getSession().get(${jdoInfo.javaClassName}.class, id); + } + + /** + * Find ${jdoInfo.javaClassName} by criteria. + * If a parameter is null it is not used in the query. + * //FIXME: there's certainly an issue with foreign keys... + */ +#set ($isfirst="true") + @SuppressWarnings("unchecked") + public List<${jdoInfo.javaClassName}> findByCriteria(#foreach($col in ${jdoInfo.jdoColInfos})#set ($ispk="false")#foreach($colpk in ${jdoInfo.getPk()})#if ($colpk.col.equals($col.colName))#set ($ispk="true")#end#end#if ($ispk=="false")#if ($isfirst=="false"), #end$col.getNonPrimitifClass() ${col.javaAttName}#set ($isfirst="false")#end#end) { + + Criteria criteria = getSession().createCriteria(${jdoInfo.javaClassName}.class); + +#foreach($col in ${jdoInfo.jdoColInfos}) +#set ($ispk="false") +#foreach($colpk in ${jdoInfo.getPk()}) +#if ($colpk.col.equals($col.colName)) +#set ($ispk="true") +#end +#end +#if ($ispk=="false") + if (${col.javaAttName} != null) { + criteria.add(Restrictions.eq("${col.javaAttName}", ${col.javaAttName})); + } + +#end +#end + return criteria.list(); + } + + /** + * Find ${jdoInfo.javaClassName} by criteria. + */ + @SuppressWarnings("unchecked") + public List<${jdoInfo.javaClassName}> findByCriteria(Map criterias) { + + Criteria criteria = getSession().createCriteria(${jdoInfo.javaClassName}.class); + criteria.add(Restrictions.allEq(criterias)); + return criteria.list(); + } + + public int deleteById($pk id) { + Query q = getSession().createQuery("delete from ${jdoInfo.javaClassName} where id = :id"); + q.setParameter("id",id); + return q.executeUpdate(); + } + + @SuppressWarnings("unchecked") + public List<${jdoInfo.javaClassName}> findAll() { + Query q = getSession().createQuery("from ${jdoInfo.javaClassName}"); + q.setCacheable(true); + return q.list(); + } + +#if ($util.getLength($jdoInfo.getPk()) > 1) +#foreach($col in ${jdoInfo.jdoColInfos}) +#set ($ispk="false") +#foreach($colpk in ${jdoInfo.getPk()}) +#if ($colpk.col.equals($col.colName)) +#set ($ispk="true") +#end +#end +#set ($isfk="false") +#foreach($colfk in ${jdoInfo.getImportedFk()}) +#foreach($colfk2 in $colfk) +#if($colfk2.getFkColumnName().equals($col.colName)) +#set ($isfk="true") + /** + * Find ${jdoInfo.javaClassName} by ${col.javaAttName} + */ + @SuppressWarnings("unchecked") + public List<${jdoInfo.javaClassName}> findBy$util.doNameCreator.attribute2class($col.javaAttName)($col.getNonPrimitifClass() ${col.javaAttName}) { + Query q = getSession().createQuery("from ${jdoInfo.javaClassName} where $util.doNameCreator.class2attribute($util.doNameCreator.createDoName(${colfk2.getPkTableName()})).${col.javaAttName} = :${col.javaAttName}"); + q.setParameter("${col.javaAttName}",${col.javaAttName}); + q.setCacheable(true); + return q.list(); + } + +#end +#end +#end +#if ($isfk=="false" && $ispk=="false") + /** + * Find ${jdoInfo.javaClassName} by ${col.javaAttName} + */ + @SuppressWarnings("unchecked") + public List<${jdoInfo.javaClassName}> findBy$util.doNameCreator.attribute2class($col.javaAttName)($col.getNonPrimitifClass() ${col.javaAttName}) { + Query q = getSession().createQuery("from ${jdoInfo.javaClassName} where ${col.javaAttName} = :${col.javaAttName}"); + q.setParameter("${col.javaAttName}",${col.javaAttName}); + q.setCacheable(true); + return q.list(); + } + +#else +#if ($ispk=="true" && $isfk=="false") + /** + * Find ${jdoInfo.javaClassName} by ${col.javaAttName} + */ + @SuppressWarnings("unchecked") + public List<${jdoInfo.javaClassName}> findBy$util.doNameCreator.attribute2class($col.javaAttName)($col.getNonPrimitifClass() ${col.javaAttName}) { + Query q = getSession().createQuery("from ${jdoInfo.javaClassName} where id.${col.javaAttName} = :${col.javaAttName}"); + q.setParameter("${col.javaAttName}",${col.javaAttName}); + q.setCacheable(true); + return q.list(); + } +#end +#end +#end +#else +#foreach($col in ${jdoInfo.jdoColInfos}) +#set ($ispk="false") +#foreach($colpk in ${jdoInfo.getPk()}) +#if ($colpk.col.equals($col.colName)) +#set ($ispk="true") +#end +#end +#set ($isfk="false") +#foreach($colfk in ${jdoInfo.getImportedFk()}) +#foreach($colfk2 in $colfk) +#if($colfk2.getFkColumnName().equals($col.colName)) +#set ($isfk="true") + /** + * Find ${jdoInfo.javaClassName} by ${col.javaAttName} + */ + @SuppressWarnings("unchecked") + public List<${jdoInfo.javaClassName}> findBy$util.doNameCreator.attribute2class($col.javaAttName)($col.getNonPrimitifClass() ${col.javaAttName}) { + Query q = getSession().createQuery("from ${jdoInfo.javaClassName} where $util.doNameCreator.class2attribute($util.doNameCreator.createDoName(${colfk2.getPkTableName()})).${col.javaAttName} = :${col.javaAttName}"); + q.setParameter("${col.javaAttName}",${col.javaAttName}); + q.setCacheable(true); + return q.list(); + } + +#end +#end +#end +#if ($ispk=="false" && $isfk=="false") + /** + * Find ${jdoInfo.javaClassName} by ${col.javaAttName} + */ + @SuppressWarnings("unchecked") + public List<${jdoInfo.javaClassName}> findBy$util.doNameCreator.attribute2class($col.javaAttName)($col.getNonPrimitifClass() ${col.javaAttName}) { + Query q = getSession().createQuery("from ${jdoInfo.javaClassName} where ${col.javaAttName} = :${col.javaAttName}"); + q.setParameter("${col.javaAttName}",${col.javaAttName}); + q.setCacheable(true); + return q.list(); + } + +#end +#end +#end + +} Added: salto-db-generator/trunk/templates/springhibernatedao/test.vm =================================================================== --- salto-db-generator/trunk/templates/springhibernatedao/test.vm (rev 0) +++ salto-db-generator/trunk/templates/springhibernatedao/test.vm 2007-03-09 15:32:11 UTC (rev 265) @@ -0,0 +1,268 @@ +package ${jdoInfo.javaPckName}.test; + +import java.util.List; +import java.sql.Timestamp; + +import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests; + +import ${jdoInfo.javaPckName}.pojo.${jdoInfo.javaClassName}; +import ${jdoInfo.javaPckName}.${jdoInfo.javaClassName}DAO; +#set ($pk="Long") +#set ($pkname="") +#foreach($col in ${jdoInfo.jdoColInfos}) +#foreach($colpk in ${jdoInfo.getPk()}) +#if ($colpk.col.equals($col.colName)) +#set ($pk=$util.getClassNameForPrimitive($col.javaAttClass)) +#set ($pkname=$util.getDoNameCreator().attribute2class($col.javaAttName)) +#end +#end +#end +#if ($util.getLength($jdoInfo.getPk()) > 1) +#set ($pk="${jdoInfo.javaClassName}PK") +#set ($pkname="${jdoInfo.javaClassName}PK") +import ${jdoInfo.javaPckName}.pojo.${jdoInfo.javaClassName}.${jdoInfo.javaClassName}PK; +#end + +/** + * <p>Spring Unit test for ${jdoInfo.javaPckName}.${jdoInfo.javaClassName}DAO</p> + * <p>Generated at $date</p> + * + * @author ${generatorVersion} + */ +public class ${jdoInfo.javaClassName}DAOTest extends AbstractTransactionalDataSourceSpringContextTests { + + protected String[] getConfigLocations() { + setAutowireMode(AUTOWIRE_BY_NAME); + setDependencyCheck(false); + return new String[] { "classpath*:/**/applicationContext-hibernate.xml", + "classpath*:/**/applicationContext-test.xml" + + }; + } + + + + private ${jdoInfo.javaClassName}DAO dao; + +#if ($pkname!="") + private $pk existingId; +#end + + private ${jdoInfo.javaClassName} testEntity${jdoInfo.javaClassName}; + +#if ($util.getLength($jdoInfo.getPk()) > 1) +#foreach($col in ${jdoInfo.jdoColInfos}) +#set ($ispk="false") +#foreach($colpk in ${jdoInfo.getPk()}) +#if ($colpk.col.equals($col.colName)) +#set ($ispk="true") +#end +#end +#set ($isfk="false") +#foreach($colfk in ${jdoInfo.getImportedFk()}) +#foreach($colfk2 in $colfk) +#if($colfk2.getFkColumnName().equals($col.colName)) +#set ($isfk="true") + private ${col.javaAttClass} test$util.getDoNameCreator().attribute2class($col.javaAttName); + +#end +#end +#end +#if ($isfk=="false" && $ispk=="false") + private ${col.javaAttClass} test$util.getDoNameCreator().attribute2class($col.javaAttName); + +#else +#if ($ispk=="true" && $isfk=="false") + private ${col.javaAttClass} test$util.getDoNameCreator().attribute2class($col.javaAttName); +#end +#end +#end +#else +#foreach($col in ${jdoInfo.jdoColInfos}) +#set ($ispk="false") +#foreach($colpk in ${jdoInfo.getPk()}) +#if ($colpk.col.equals($col.colName)) +#set ($ispk="true") +#end +#end +#set ($isfk="false") +#foreach($colfk in ${jdoInfo.getImportedFk()}) +#foreach($colfk2 in $colfk) +#if($colfk2.getFkColumnName().equals($col.colName)) +#set ($isfk="true") + private ${col.javaAttClass} test$util.getDoNameCreator().attribute2class($col.javaAttName); + +#end +#end +#end +#if ($ispk=="false" && $isfk=="false") + private ${col.javaAttClass} test$util.getDoNameCreator().attribute2class($col.javaAttName); + +#end +#end +#end + + public void set${jdoInfo.javaClassName}DAO(${jdoInfo.javaClassName}DAO dao) { + this.dao = dao; + } + + public ${jdoInfo.javaClassName}DAO get${jdoInfo.javaClassName}DAO() { + return this.dao; + } + +#if ($pkname!="") + public void setExistingId(${pk} id) { + this.existingId = id; + } + + public ${pk} getExistingId() { + return this.existingId; + } +#end + + public ${jdoInfo.javaClassName} getTestEntity${jdoInfo.javaClassName}() { + return testEntity${jdoInfo.javaClassName}; + } + + public void setTestEntity${jdoInfo.javaClassName}(${jdoInfo.javaClassName} testEntity${jdoInfo.javaClassName}) { + this.testEntity${jdoInfo.javaClassName} = testEntity${jdoInfo.javaClassName}; + } + + public void testGetById() { +#if ($pkname!="") + ${jdoInfo.javaClassName} test = dao.getById(existingId); + assertNotNull(test); +#end + } + + public void testFindAll() { + List<${jdoInfo.javaClassName}> all = dao.findAll(); + assertNotNull("testFindAll", all); + assertFalse("testFindAll", all.isEmpty()); + } + + public void testSaveAndRemove() { +#if ($pkname!="") + dao.save(testEntity${jdoInfo.javaClassName}); + ${jdoInfo.javaClassName} test = dao.getById(testEntity${jdoInfo.javaClassName}.get${pkname}()); + assertNotNull("testSaveAndRemove", testEntity${jdoInfo.javaClassName}.get${pkname}()); + assertNotNull("testSaveAndRemove", test); + dao.delete(testEntity${jdoInfo.javaClassName}); + test = dao.getById(testEntity${jdoInfo.javaClassName}.get${pkname}()); + assertNull("testSaveAndRemove", test); +#end + } + +#if ($util.getLength($jdoInfo.getPk()) > 1) +#foreach($col in ${jdoInfo.jdoColInfos}) +#set ($ispk="false") +#foreach($colpk in ${jdoInfo.getPk()}) +#if ($colpk.col.equals($col.colName)) +#set ($ispk="true") +#end +#end +#set ($isfk="false") +#foreach($colfk in ${jdoInfo.getImportedFk()}) +#foreach($colfk2 in $colfk) +#if($colfk2.getFkColumnName().equals($col.colName)) +#set ($isfk="true") + public ${col.javaAttClass} getTest$util.getDoNameCreator().attribute2class($col.javaAttName)() { + return test$util.getDoNameCreator().attribute2class($col.javaAttName); + } + + public void setTest$util.getDoNameCreator().attribute2class($col.javaAttName)(${col.javaAttClass} test$util.getDoNameCreator().attribute2class($col.javaAttName)) { + this.test$util.getDoNameCreator().attribute2class($col.javaAttName) = test$util.getDoNameCreator().attribute2class($col.javaAttName); + } + + public void testFindBy$util.doNameCreator.attribute2class($col.javaAttName)() { + List<${jdoInfo.javaClassName}> list = dao.findBy$util.doNameCreator.attribute2class($col.javaAttName)(test$util.getDoNameCreator().attribute2class($col.javaAttName)); + assertNotNull("testFindBy$util.doNameCreator.attribute2class($col.javaAttName)", list); + assertFalse("testFindBy$util.doNameCreator.attribute2class($col.javaAttName)", list.isEmpty()); + } + +#end +#end +#end +#if ($isfk=="false" && $ispk=="false") + public ${col.javaAttClass} getTest$util.getDoNameCreator().attribute2class($col.javaAttName)() { + return test$util.getDoNameCreator().attribute2class($col.javaAttName); + } + + public void setTest$util.getDoNameCreator().attribute2class($col.javaAttName)(${col.javaAttClass} test$util.getDoNameCreator().attribute2class($col.javaAttName)) { + this.test$util.getDoNameCreator().attribute2class($col.javaAttName) = test$util.getDoNameCreator().attribute2class($col.javaAttName); + } + + public void testFindBy$util.doNameCreator.attribute2class($col.javaAttName)() { + List<${jdoInfo.javaClassName}> list = dao.findBy$util.doNameCreator.attribute2class($col.javaAttName)(test$util.getDoNameCreator().attribute2class($col.javaAttName)); + assertNotNull("testFindBy$util.doNameCreator.attribute2class($col.javaAttName)", list); + assertFalse("testFindBy$util.doNameCreator.attribute2class($col.javaAttName)", list.isEmpty()); + } + +#else +#if ($ispk=="true" && $isfk=="false") + public ${col.javaAttClass} getTest$util.getDoNameCreator().attribute2class($col.javaAttName)() { + return test$util.getDoNameCreator().attribute2class($col.javaAttName); + } + + public void setTest$util.getDoNameCreator().attribute2class($col.javaAttName)(${col.javaAttClass} test$util.getDoNameCreator().attribute2class($col.javaAttName)) { + this.test$util.getDoNameCreator().attribute2class($col.javaAttName) = test$util.getDoNameCreator().attribute2class($col.javaAttName); + } + + public void testFindBy$util.doNameCreator.attribute2class($col.javaAttName)() { + List<${jdoInfo.javaClassName}> list = dao.findBy$util.doNameCreator.attribute2class($col.javaAttName)(test$util.getDoNameCreator().attribute2class($col.javaAttName)); + assertNotNull("testFindBy$util.doNameCreator.attribute2class($col.javaAttName)", list); + assertFalse("testFindBy$util.doNameCreator.attribute2class($col.javaAttName)", list.isEmpty()); + } +#end +#end +#end +#else +#foreach($col in ${jdoInfo.jdoColInfos}) +#set ($ispk="false") +#foreach($colpk in ${jdoInfo.getPk()}) +#if ($colpk.col.equals($col.colName)) +#set ($ispk="true") +#end +#end +#set ($isfk="false") +#foreach($colfk in ${jdoInfo.getImportedFk()}) +#foreach($colfk2 in $colfk) +#if($colfk2.getFkColumnName().equals($col.colName)) +#set ($isfk="true") + public ${col.javaAttClass} getTest$util.getDoNameCreator().attribute2class($col.javaAttName)() { + return test$util.getDoNameCreator().attribute2class($col.javaAttName); + } + + public void setTest$util.getDoNameCreator().attribute2class($col.javaAttName)(${col.javaAttClass} test$util.getDoNameCreator().attribute2class($col.javaAttName)) { + this.test$util.getDoNameCreator().attribute2class($col.javaAttName) = test$util.getDoNameCreator().attribute2class($col.javaAttName); + } + + public void testFindBy$util.doNameCreator.attribute2class($col.javaAttName)() { + List<${jdoInfo.javaClassName}> list = dao.findBy$util.doNameCreator.attribute2class($col.javaAttName)(test$util.getDoNameCreator().attribute2class($col.javaAttName)); + assertNotNull("testFindBy$util.doNameCreator.attribute2class($col.javaAttName)", list); + assertFalse("testFindBy$util.doNameCreator.attribute2class($col.javaAttName)", list.isEmpty()); + } + +#end +#end +#end +#if ($ispk=="false" && $isfk=="false") + public ${col.javaAttClass} getTest$util.getDoNameCreator().attribute2class($col.javaAttName)() { + return test$util.getDoNameCreator().attribute2class($col.javaAttName); + } + + public void setTest$util.getDoNameCreator().attribute2class($col.javaAttName)(${col.javaAttClass} test$util.getDoNameCreator().attribute2class($col.javaAttName)) { + this.test$util.getDoNameCreator().attribute2class($col.javaAttName) = test$util.getDoNameCreator().attribute2class($col.javaAttName); + } + + public void testFindBy$util.doNameCreator.attribute2class($col.javaAttName)() { + List<${jdoInfo.javaClassName}> list = dao.findBy$util.doNameCreator.attribute2class($col.javaAttName)(test$util.getDoNameCreator().attribute2class($col.javaAttName)); + assertNotNull("testFindBy$util.doNameCreator.attribute2class($col.javaAttName)", list); + assertFalse("testFindBy$util.doNameCreator.attribute2class($col.javaAttName)", list.isEmpty()); + } + +#end +#end +#end + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rfl...@us...> - 2007-03-09 15:32:59
|
Revision: 266 http://svn.sourceforge.net/salto-db/?rev=266&view=rev Author: rflament Date: 2007-03-09 07:32:52 -0800 (Fri, 09 Mar 2007) Log Message: ----------- spring plugins Added Paths: ----------- salto-db-generator/trunk/templates/springwebapp/ salto-db-generator/trunk/templates/springwebapp/action-servlet.xml.vm salto-db-generator/trunk/templates/springwebapp/list.jsp.vm salto-db-generator/trunk/templates/springwebapp/listcontroller.vm salto-db-generator/trunk/templates/springwebapp/web.xml.vm Added: salto-db-generator/trunk/templates/springwebapp/action-servlet.xml.vm =================================================================== --- salto-db-generator/trunk/templates/springwebapp/action-servlet.xml.vm (rev 0) +++ salto-db-generator/trunk/templates/springwebapp/action-servlet.xml.vm 2007-03-09 15:32:52 UTC (rev 266) @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- This file has been generated by ${generatorVersion} at $date --> + +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:jee="http://www.springframework.org/schema/jee" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd + http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd"> + + <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> + <property name="exceptionMappings"> + <props> + <prop key="org.springframework.dao.DataAccessException">dataAccessFailure</prop> + </props> + </property> + </bean> + + + <!-- List controllers --> +#foreach($jdoInfo in ${jdoInfos}) + <bean id="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}ListController" class="${pckName}.webapp.controller.${jdoInfo.javaClassName}ListController"> + <property name="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO" ref="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO" /> + <property name="viewName" value="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}List" /> + </bean> + +#end + + + <!-- Spring MVC configuration --> + <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> + <property name="basename" value="ApplicationResources" /> + </bean> + + <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> + <property name="mappings"> + <props> +#foreach($jdoInfo in ${jdoInfos}) + <prop key="/list${jdoInfo.javaClassName}.html">${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}ListController</prop> +#end + </props> + </property> + </bean> + + <!-- View Resolver for JSPs --> + <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> + <property name="requestContextAttribute" value="rc" /> + <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> + <property name="prefix" value="/WEB-INF/pages/" /> + <property name="suffix" value=".jsp" /> + </bean> + +</beans> \ No newline at end of file Added: salto-db-generator/trunk/templates/springwebapp/list.jsp.vm =================================================================== --- salto-db-generator/trunk/templates/springwebapp/list.jsp.vm (rev 0) +++ salto-db-generator/trunk/templates/springwebapp/list.jsp.vm 2007-03-09 15:32:52 UTC (rev 266) @@ -0,0 +1,30 @@ +<%@ page language="java" errorPage="/error.jsp" pageEncoding="UTF-8" contentType="text/html; charset=utf-8" %> +<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %> +<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> +<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> + <head> + <title><fmt:message key="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}List.title"/></title> + </head> + <body> + <h1>List of ${jdoInfo.javaClassName}s</h1> + <table> + <tr> +#foreach($col in ${jdoInfo.jdoColInfos}) + <th>${col.javaAttName}</th> +#end + </tr> +<c:forEach items="${${jdoInfo.javaClassName}list}" var="entry"> + <tr> +#foreach($col in ${jdoInfo.jdoColInfos}) + <td><c:out value="\$\{entry.${col.javaAttName}}" /></td> +#end + </tr> +</c:forEach> + </table> + </body> +</html> \ No newline at end of file Added: salto-db-generator/trunk/templates/springwebapp/listcontroller.vm =================================================================== --- salto-db-generator/trunk/templates/springwebapp/listcontroller.vm (rev 0) +++ salto-db-generator/trunk/templates/springwebapp/listcontroller.vm 2007-03-09 15:32:52 UTC (rev 266) @@ -0,0 +1,39 @@ +package ${jdoInfo.javaPckName}.webapp.controller; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.mvc.ParameterizableViewController; + +import com.salto.pojodao.pojo.${jdoInfo.javaClassName}DAO; + +/** + * <p>Spring controller to diplay list of ${jdoInfo.javaClassName}s</p> + * <p>Generated at $date</p> + * + * @author ${generatorVersion} + */ +public class ${jdoInfo.javaClassName}ListController extends ParameterizableViewController { + + private ${jdoInfo.javaClassName}DAO ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO; + + public void set${jdoInfo.javaClassName}DAO(${jdoInfo.javaClassName}DAO ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO) { + this.${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO = ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO; + } + + public ${jdoInfo.javaClassName}DAO get${jdoInfo.javaClassName}DAO() { + return this.${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO; + } + + @SuppressWarnings("unchecked") + @Override + protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { + ModelAndView modelAndView = super.handleRequestInternal(request, response); + + modelAndView.addObject("${jdoInfo.javaClassName}list", ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO.findAll()); + + return modelAndView; + } + +} \ No newline at end of file Added: salto-db-generator/trunk/templates/springwebapp/web.xml.vm =================================================================== --- salto-db-generator/trunk/templates/springwebapp/web.xml.vm (rev 0) +++ salto-db-generator/trunk/templates/springwebapp/web.xml.vm 2007-03-09 15:32:52 UTC (rev 266) @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" + "http://java.sun.com/dtd/web-app_2_3.dtd"> +<!-- This file has been generated by ${generatorVersion} at $date --> +<web-app> + <display-name>Salto-db Generator Spring webapp</display-name> + + <context-param> + <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name> + <param-value>ApplicationResources</param-value> + </context-param> + <context-param> + <param-name>javax.servlet.jsp.jstl.fmt.fallbackLocale</param-name> + <param-value>en</param-value> + </context-param> + <context-param> + <param-name>contextConfigLocation</param-name> + <param-value>/WEB-INF/applicationContext-*.xml,/WEB-INF/security.xml</param-value> + </context-param> + + <filter> + <filter-name>encodingFilter</filter-name> + <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> + <init-param> + <param-name>encoding</param-name> + <param-value>UTF-8</param-value> + </init-param> + <init-param> + <param-name>forceEncoding</param-name> + <param-value>true</param-value> + </init-param> + </filter> + <filter> + <filter-name>hibernateFilter</filter-name> + <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> + </filter> + + <filter-mapping> + <filter-name>encodingFilter</filter-name> + <url-pattern>*.html</url-pattern> + </filter-mapping> + <filter-mapping> + <filter-name>encodingFilter</filter-name> + <url-pattern>*.jsp</url-pattern> + </filter-mapping> + + <filter-mapping> + <filter-name>hibernateFilter</filter-name> + <url-pattern>*.html</url-pattern> + </filter-mapping> + + <listener> + <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class> + </listener> + + <servlet> + <servlet-name>action</servlet-name> + <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> + <load-on-startup>2</load-on-startup> + </servlet> + + <servlet-mapping> + <servlet-name>action</servlet-name> + <url-pattern>*.html</url-pattern> + </servlet-mapping> + + <session-config> + <session-timeout>180</session-timeout> + </session-config> + + <welcome-file-list> + <welcome-file>index.jsp</welcome-file> + </welcome-file-list> + +</web-app> + \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rfl...@us...> - 2007-04-05 09:29:19
|
Revision: 274 http://svn.sourceforge.net/salto-db/?rev=274&view=rev Author: rflament Date: 2007-04-05 02:29:17 -0700 (Thu, 05 Apr 2007) Log Message: ----------- Modified Paths: -------------- salto-db-generator/trunk/templates/hibernateejb3dao/hibernate.cfg.xml.vm salto-db-generator/trunk/templates/springhibernatedao/applicationContext-hibernate.xml.vm salto-db-generator/trunk/templates/springhibernatedao/genericdao.vm salto-db-generator/trunk/templates/springhibernatedao/springabstracthibernatedao.vm salto-db-generator/trunk/templates/springwebapp/action-servlet.xml.vm salto-db-generator/trunk/templates/springwebapp/list.jsp.vm salto-db-generator/trunk/templates/springwebapp/listcontroller.vm salto-db-generator/trunk/templates/springwebapp/web.xml.vm Added Paths: ----------- salto-db-generator/trunk/templates/springwebapp/ApplicationResources.properties.vm salto-db-generator/trunk/templates/springwebapp/addupdatecontroller.vm salto-db-generator/trunk/templates/springwebapp/ajaxdeletecontroller.vm salto-db-generator/trunk/templates/springwebapp/editor.vm salto-db-generator/trunk/templates/springwebapp/emlist.jsp.vm salto-db-generator/trunk/templates/springwebapp/form.jsp.vm salto-db-generator/trunk/templates/springwebapp/index.jsp.vm salto-db-generator/trunk/templates/springwebapp/log4j.properties.vm salto-db-generator/trunk/templates/springwebapp/menu.jsp.vm salto-db-generator/trunk/templates/springwebapp/searchcontroller.vm salto-db-generator/trunk/templates/springwebapp/searchform.jsp.vm Modified: salto-db-generator/trunk/templates/hibernateejb3dao/hibernate.cfg.xml.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/hibernate.cfg.xml.vm 2007-04-05 09:28:05 UTC (rev 273) +++ salto-db-generator/trunk/templates/hibernateejb3dao/hibernate.cfg.xml.vm 2007-04-05 09:29:17 UTC (rev 274) @@ -9,10 +9,17 @@ <property name="connection.url">${connInfo.url}</property> <property name="connection.username">${connInfo.user}</property> <property name="connection.driver_class">${connInfo.driver}</property> -#if ($dialect.getDialect(${connInfo.conn.getMetaData().getDatabaseProductName()})) - <!-- Your database is ${connInfo.conn.getMetaData().getDatabaseProductName()}--> - <property name="dialect">$dialect.getDialect(${connInfo.conn.getMetaData().getDatabaseProductName()})</property> +#if (${hibernateDialectHelper.getHibernateDialect(${connInfo.conn.getMetaData()})}) + <!-- Your database is ${connInfo.conn.getMetaData().getDatabaseProductName()} ${connInfo.conn.getMetaData().getDatabaseMajorVersion()}.${connInfo.conn.getMetaData().getDatabaseMinorVersion()} --> + <property name="dialect">$hibernateDialectHelper.getHibernateDialect(${connInfo.conn.getMetaData()})</property> +#if (${connInfo.conn.getMetaData().getDatabaseProductName()}=="MySQL" && ${connInfo.conn.getMetaData().getDatabaseMajorVersion()}>=5) + <!-- You can also use org.hibernate.dialect.MySQL5InnoDBDialect if all your tables are InnoDBs.--> + #else + <!-- You can also use org.hibernate.dialect.MySQLInnoDBDialect if all your tables are InnoDBs or org.hibernate.dialect.MySQLMyISAMDialect if all your tables are MyISAMs.--> + +#end +#else <!-- Your database is ${connInfo.conn.getMetaData().getDatabaseProductName()}. No dialect is known by Salto-db-generator for this database. If you know what dialect to use, please send an email to rfl...@sa... and precise that the database is "${connInfo.conn.getMetaData().getDatabaseProductName()}". Thank you. Modified: salto-db-generator/trunk/templates/springhibernatedao/applicationContext-hibernate.xml.vm =================================================================== --- salto-db-generator/trunk/templates/springhibernatedao/applicationContext-hibernate.xml.vm 2007-04-05 09:28:05 UTC (rev 273) +++ salto-db-generator/trunk/templates/springhibernatedao/applicationContext-hibernate.xml.vm 2007-04-05 09:29:17 UTC (rev 274) @@ -22,15 +22,23 @@ </property> <property name="hibernateProperties"> <props> -#if ($dialect.getDialect(${connInfo.conn.getMetaData().getDatabaseProductName()})) - <!-- Your database is ${connInfo.conn.getMetaData().getDatabaseProductName()}--> - <prop key="hibernate.dialect">$dialect.getDialect(${connInfo.conn.getMetaData().getDatabaseProductName()})</prop> +#if (${hibernateDialectHelper.getHibernateDialect(${connInfo.conn.getMetaData()})}) + <!-- Your database is ${connInfo.conn.getMetaData().getDatabaseProductName()} ${connInfo.conn.getMetaData().getDatabaseMajorVersion()}.${connInfo.conn.getMetaData().getDatabaseMinorVersion()} --> + <prop key="hibernate.dialect">${hibernateDialectHelper.getHibernateDialect(${connInfo.conn.getMetaData()})}</prop> +#if (${connInfo.conn.getMetaData().getDatabaseProductName()}=="MySQL" && ${connInfo.conn.getMetaData().getDatabaseMajorVersion()}>=5) + <!-- You can also use org.hibernate.dialect.MySQL5InnoDBDialect if all your tables are InnoDBs.--> + #else + <!-- You can also use org.hibernate.dialect.MySQLInnoDBDialect if all your tables are InnoDBs or org.hibernate.dialect.MySQLMyISAMDialect if all your tables are MyISAMs.--> + +#end +#else <!-- Your database is ${connInfo.conn.getMetaData().getDatabaseProductName()}. No dialect is known by Salto-db-generator for this database. - If you know what dialect to use, please send an email to rfl...@sa... and precise that the database is - "${connInfo.conn.getMetaData().getDatabaseProductName()}". Thank you. --> - <prop key="hibernate.dialect"> SET THE DATABASE DIALECT HERE </prop> -#end + If you know what dialect to use, please send an email to rfl...@sa... and precise that the database is + "${connInfo.conn.getMetaData().getDatabaseProductName()}". Thank you. + --> + <prop key="hibernate.dialect"> SET THE DATABASE DIALECT HERE </prop> +#end <prop key="hibernate.query.substitutions">Y</prop> <prop key="hibernate.show_sql">true</prop> <!-- Turn batching off for better error messages under PostgreSQL Modified: salto-db-generator/trunk/templates/springhibernatedao/genericdao.vm =================================================================== --- salto-db-generator/trunk/templates/springhibernatedao/genericdao.vm 2007-04-05 09:28:05 UTC (rev 273) +++ salto-db-generator/trunk/templates/springhibernatedao/genericdao.vm 2007-04-05 09:29:17 UTC (rev 274) @@ -26,4 +26,6 @@ int deleteById(ID id); + public List<T> findByExample(T exampleInstance, String[] excludeProperty); + } \ No newline at end of file Modified: salto-db-generator/trunk/templates/springhibernatedao/springabstracthibernatedao.vm =================================================================== --- salto-db-generator/trunk/templates/springhibernatedao/springabstracthibernatedao.vm 2007-04-05 09:28:05 UTC (rev 273) +++ salto-db-generator/trunk/templates/springhibernatedao/springabstracthibernatedao.vm 2007-04-05 09:29:17 UTC (rev 274) @@ -2,9 +2,16 @@ import ${pckName}.GenericDAO; import java.io.Serializable; +import java.lang.reflect.ParameterizedType; +import java.util.List; +import org.hibernate.Criteria; import org.hibernate.FlushMode; import org.hibernate.Query; +import org.hibernate.LockMode; +import org.hibernate.Session; +import org.hibernate.criterion.Criterion; +import org.hibernate.criterion.Example; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; @@ -15,6 +22,30 @@ */ public abstract class AbstractHibernateDAO<T, ID extends Serializable> extends HibernateDaoSupport implements GenericDAO<T, ID> { + private Class<T> persistentClass; + + public AbstractHibernateDAO() { + this.persistentClass = (Class<T>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + } + + public Class<T> getPersistentClass() { + return persistentClass; + } + + @SuppressWarnings("unchecked") + public T getById(ID id) { + return (T) getSession().get(getPersistentClass(), id); + } + + @SuppressWarnings("unchecked") + public T getById(ID id, boolean lock) { + if (lock) { + return (T) getSession().get(getPersistentClass(), id, + LockMode.UPGRADE); + } else + return getById(id); + } + public void save(T entity) { getSession().save(entity); } @@ -38,7 +69,24 @@ delete(entity); } + @SuppressWarnings("unchecked") + public List<T> findAll() { + return findByCriteria(); + } + /** + * Use this inside subclasses as a convenience method. + */ + @SuppressWarnings("unchecked") + protected List<T> findByCriteria(Criterion... criterion) { + Criteria crit = getSession().createCriteria(getPersistentClass()); + for (Criterion c : criterion) { + crit.add(c); + } + return crit.list(); + } + + /** * This method will execute an HQL query and return the number of affected entities. */ protected int executeQuery(String query, String namedParams[], Object params[]) { @@ -76,4 +124,15 @@ return executeNamedQuery(namedQuery, null, null); } + @SuppressWarnings("unchecked") + public List<T> findByExample(T exampleInstance, String[] excludeProperty) { + Criteria crit = getSession().createCriteria(getPersistentClass()); + Example example = Example.create(exampleInstance); + for (String exclude : excludeProperty) { + example.excludeProperty(exclude); + } + crit.add(example); + return crit.list(); + } + } Added: salto-db-generator/trunk/templates/springwebapp/ApplicationResources.properties.vm =================================================================== --- salto-db-generator/trunk/templates/springwebapp/ApplicationResources.properties.vm (rev 0) +++ salto-db-generator/trunk/templates/springwebapp/ApplicationResources.properties.vm 2007-04-05 09:29:17 UTC (rev 274) @@ -0,0 +1,5 @@ +# This file has been generated by ${generatorVersion} at $date + +#foreach($jdoInfo in ${jdoInfos}) +${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}List.title=List of ${jdoInfo.javaClassName}s +#end \ No newline at end of file Modified: salto-db-generator/trunk/templates/springwebapp/action-servlet.xml.vm =================================================================== --- salto-db-generator/trunk/templates/springwebapp/action-servlet.xml.vm 2007-04-05 09:28:05 UTC (rev 273) +++ salto-db-generator/trunk/templates/springwebapp/action-servlet.xml.vm 2007-04-05 09:29:17 UTC (rev 274) @@ -19,13 +19,56 @@ <!-- List controllers --> #foreach($jdoInfo in ${jdoInfos}) <bean id="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}ListController" class="${pckName}.webapp.controller.${jdoInfo.javaClassName}ListController"> - <property name="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO" ref="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO" /> + <property name="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO" ref="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO" /> <property name="viewName" value="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}List" /> </bean> #end + <!-- Add and Update controllers --> +#foreach($jdoInfo in ${jdoInfos}) + <bean id="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}AddUpdateController" class="${pckName}.webapp.controller.${jdoInfo.javaClassName}AddUpdateController"> + <property name="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO" ref="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO" /> +#foreach($colfk in ${jdoInfo.getImportedFk()}) +#foreach($colfk2 in $colfk) + <property name="${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}DAO" ref="${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}DAO" /> +#end +#end + <property name="successView" value="redirect:/list${jdoInfo.javaClassName}.html" /> + <property name="formView" value="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}Form" /> + <property name="cancelView" value="redirect:/list${jdoInfo.javaClassName}.html" /> + <property name="cancelParamKey" value="cancel" /> + <property name="commandName" value="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}" /> + <property name="commandClass" value="${pckName}.pojo.${jdoInfo.javaClassName}" /> + </bean> + +#end + <!-- Ajax Delete controllers --> +#foreach($jdoInfo in ${jdoInfos}) + <bean id="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}AjaxDeleteController" class="${pckName}.webapp.controller.${jdoInfo.javaClassName}AjaxDeleteController"> + <property name="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO" ref="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO" /> + </bean> + +#end + + <!-- Search controllers --> +#foreach($jdoInfo in ${jdoInfos}) + <bean id="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}SearchController" class="${pckName}.webapp.controller.${jdoInfo.javaClassName}SearchController"> + <property name="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO" ref="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO" /> +#foreach($colfk in ${jdoInfo.getImportedFk()}) +#foreach($colfk2 in $colfk) + <property name="${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}DAO" ref="${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}DAO" /> +#end +#end + <property name="successView" value="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}SearchForm" /> + <property name="formView" value="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}SearchForm" /> + <property name="commandName" value="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}" /> + <property name="commandClass" value="${pckName}.pojo.${jdoInfo.javaClassName}" /> + </bean> + +#end + <!-- Spring MVC configuration --> <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <property name="basename" value="ApplicationResources" /> @@ -37,6 +80,15 @@ #foreach($jdoInfo in ${jdoInfos}) <prop key="/list${jdoInfo.javaClassName}.html">${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}ListController</prop> #end +#foreach($jdoInfo in ${jdoInfos}) + <prop key="/addupdate${jdoInfo.javaClassName}.html">${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}AddUpdateController</prop> +#end +#foreach($jdoInfo in ${jdoInfos}) + <prop key="/delete${jdoInfo.javaClassName}.html">${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}AjaxDeleteController</prop> +#end +#foreach($jdoInfo in ${jdoInfos}) + <prop key="/search${jdoInfo.javaClassName}.html">${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}SearchController</prop> +#end </props> </property> </bean> Added: salto-db-generator/trunk/templates/springwebapp/addupdatecontroller.vm =================================================================== --- salto-db-generator/trunk/templates/springwebapp/addupdatecontroller.vm (rev 0) +++ salto-db-generator/trunk/templates/springwebapp/addupdatecontroller.vm 2007-04-05 09:29:17 UTC (rev 274) @@ -0,0 +1,113 @@ +package ${jdoInfo.javaPckName}.webapp.controller; + +#if ($util.getLength(${jdoInfo.getImportedFk()}) > 0) +import java.util.Map; +import org.springframework.ui.ModelMap; +#foreach($colfk in ${jdoInfo.getImportedFk()}) +#foreach($colfk2 in $colfk) +import ${jdoInfo.javaPckName}.${colfk2.pkJavaClassName}DAO; +#end +#end + +#end +import javax.servlet.http.HttpServletRequest; + +import org.springframework.web.servlet.mvc.CancellableFormController; +import org.springframework.web.bind.ServletRequestDataBinder; + +import ${jdoInfo.javaPckName}.${jdoInfo.javaClassName}DAO; +import ${jdoInfo.javaPckName}.pojo.${jdoInfo.javaClassName}; + +#foreach($colfk in ${jdoInfo.getImportedFk()}) +#foreach($colfk2 in $colfk) +import ${jdoInfo.javaPckName}.pojo.${colfk2.pkJavaClassName}; +import ${jdoInfo.javaPckName}.webapp.editor.${colfk2.pkJavaClassName}EditorSupport; +#end +#end + +/** + * <p>Spring controller to add or update a ${jdoInfo.javaClassName}</p> + * <p>Generated at $date</p> + * + * @author ${generatorVersion} + */ +public class ${jdoInfo.javaClassName}AddUpdateController extends CancellableFormController { + + private ${jdoInfo.javaClassName}DAO ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO; + +#foreach($colfk in ${jdoInfo.getImportedFk()}) +#foreach($colfk2 in $colfk) + private ${colfk2.pkJavaClassName}DAO ${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}DAO; + + public void set${colfk2.pkJavaClassName}DAO(${colfk2.pkJavaClassName}DAO ${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}DAO) { + this.${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}DAO = ${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}DAO; + } + + public ${colfk2.pkJavaClassName}DAO get${colfk2.pkJavaClassName}DAO() { + return this.${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}DAO; + } + +#end +#end + public void set${jdoInfo.javaClassName}DAO(${jdoInfo.javaClassName}DAO ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO) { + this.${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO = ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO; + } + + public ${jdoInfo.javaClassName}DAO get${jdoInfo.javaClassName}DAO() { + return this.${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO; + } + +#if ($util.getLength(${jdoInfo.getImportedFk()}) > 0) + @Override + protected Map referenceData(HttpServletRequest request) throws Exception { + ModelMap modelMap = new ModelMap(); +#foreach($colfk in ${jdoInfo.getImportedFk()}) +#foreach($colfk2 in $colfk) + modelMap.addObject("${colfk2.pkJavaClassName}s", ${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}DAO.findAll()); +#end +#end + return modelMap; + } + +#end + /* + * (non-Javadoc) + * + * @see org.springframework.web.servlet.mvc.AbstractFormController#formBackingObject(javax.servlet.http.HttpServletRequest) + */ + @Override + protected Object formBackingObject(HttpServletRequest request) throws Exception { + + ${jdoInfo.javaClassName} ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})} = null; + if (request.getParameter("${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}Id") != null) { + ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})} = ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO.getById(Integer.parseInt(request.getParameter("${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}Id"))); + } else { + ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})} = new ${jdoInfo.javaClassName}(); + } + + return ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}; + } + + @Override + protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) throws Exception { + + super.initBinder(request, binder); +#foreach($colfk in ${jdoInfo.getImportedFk()}) +#foreach($colfk2 in $colfk) + binder.registerCustomEditor(${colfk2.pkJavaClassName}.class, new ${colfk2.pkJavaClassName}EditorSupport()); +#end +#end + + } + + /* + * (non-Javadoc) + * + * @see org.springframework.web.servlet.mvc.SimpleFormController#doSubmitAction(java.lang.Object) + */ + @Override + protected void doSubmitAction(Object command) throws Exception { + ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO.saveOrUpdate((${jdoInfo.javaClassName}) command); + } + +} Added: salto-db-generator/trunk/templates/springwebapp/ajaxdeletecontroller.vm =================================================================== --- salto-db-generator/trunk/templates/springwebapp/ajaxdeletecontroller.vm (rev 0) +++ salto-db-generator/trunk/templates/springwebapp/ajaxdeletecontroller.vm 2007-04-05 09:29:17 UTC (rev 274) @@ -0,0 +1,40 @@ +package ${jdoInfo.javaPckName}.webapp.controller; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.mvc.AbstractController; + +import ${jdoInfo.javaPckName}.${jdoInfo.javaClassName}DAO; + +/** + * <p>Spring controller to delete a ${jdoInfo.javaClassName}</p> + * <p>Generated at $date</p> + * + * @author ${generatorVersion} + */ +public class ${jdoInfo.javaClassName}AjaxDeleteController extends AbstractController { + + private ${jdoInfo.javaClassName}DAO ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO; + + public void set${jdoInfo.javaClassName}DAO(${jdoInfo.javaClassName}DAO ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO) { + this.${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO = ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO; + } + + public ${jdoInfo.javaClassName}DAO get${jdoInfo.javaClassName}DAO() { + return this.${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO; + } + + @Override + protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { + + if (request.getParameter("${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}Id") != null) { + ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO.deleteById(Integer.parseInt(request.getParameter("${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}Id"))); + } + + //TODO: when it will be ajax : return null; + return new ModelAndView("redirect:/list${jdoInfo.javaClassName}.html"); + } + +} Added: salto-db-generator/trunk/templates/springwebapp/editor.vm =================================================================== Added: salto-db-generator/trunk/templates/springwebapp/emlist.jsp.vm =================================================================== --- salto-db-generator/trunk/templates/springwebapp/emlist.jsp.vm (rev 0) +++ salto-db-generator/trunk/templates/springwebapp/emlist.jsp.vm 2007-04-05 09:29:17 UTC (rev 274) @@ -0,0 +1,26 @@ +#if ($util.getLength($jdoInfo.pk) > 0) +#foreach($pk in $jdoInfo.pk) +#set ($pkEntry="entry.${pk.javaAttName}") +#end +#end +<c:if test="${ not empty ${jdoInfo.javaClassName}list}"> + <table> + <tr> +#foreach($col in ${jdoInfo.nonFKColInfos}) + <th>${col.javaAttName}</th> +#end + <th>Remove</th> + </tr> +<c:forEach items="${${jdoInfo.javaClassName}list}" var="entry"> + <tr> +#foreach($col in ${jdoInfo.nonFKColInfos}) +#set ($val = "entry.${col.javaAttName}") + <td><a href="addupdate${jdoInfo.javaClassName}.html?${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}Id=<c:out value="${${pkEntry}}" />"><c:out value="${${val}}" /></a></td> +#end + <td> + <a href="#" onclick="remove${jdoInfo.javaClassName}(<c:out value="${${pkEntry}})"/>">X</a> + </td> + </tr> +</c:forEach> + </table> +</c:if> \ No newline at end of file Added: salto-db-generator/trunk/templates/springwebapp/form.jsp.vm =================================================================== --- salto-db-generator/trunk/templates/springwebapp/form.jsp.vm (rev 0) +++ salto-db-generator/trunk/templates/springwebapp/form.jsp.vm 2007-04-05 09:29:17 UTC (rev 274) @@ -0,0 +1,46 @@ +<%@ page language="java" errorPage="/error.jsp" pageEncoding="UTF-8" contentType="text/html; charset=utf-8" %> +<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %> +<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> +<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> +#if ($util.getLength($jdoInfo.pk) > 0) +#foreach($pk in $jdoInfo.pk) +#set ($pkEntry="${pk.javaAttName}") +#end +#end + <head> + </head> + <body> +<%@ include file="menu.jsp" %> + <form:form commandName="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}" action="addupdate${jdoInfo.javaClassName}.html" method="post"> + <ul> +#foreach($col in ${jdoInfo.nonFKColInfos}) + <li><label for="${col.javaAttName}">${col.javaAttName}</label><form:errors path="${col.javaAttName}" /><span><form:input path="${col.javaAttName}" id="${col.javaAttName}"/></span></li> +#end +#foreach($colfk in ${jdoInfo.getImportedFk()}) +#foreach($colfk2 in $colfk) + <li><label for="${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}">${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}</label> + <form:errors path="${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}" /> + <span> + <form:select path="${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}" id="${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}"> + <!-- I don't see any way to know which column should be displayed to the user, so you need to do the job yourself here... --> + <form:options items="${${colfk2.pkJavaClassName}s}" itemValue="${colfk2.pkJavaAttName}" itemLabel="${colfk2.pkJavaAttName}"/> + </form:select> + </span> + </li> +#end +#end +<c:if test="${ empty requestScope['${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}'].$pkEntry}"> + <li><input type="submit" name="add" value="Add" /> <input type="submit" name="cancel" value="Cancel" /></li> +</c:if> +<c:if test="${ not empty requestScope['${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}'].$pkEntry}"> + <li><input type="submit" name="update" value="Update" /> <input type="submit" name="cancel" value="Cancel" /></li> +</c:if> + </ul> + </form:form> + </body> +</html> \ No newline at end of file Added: salto-db-generator/trunk/templates/springwebapp/index.jsp.vm =================================================================== --- salto-db-generator/trunk/templates/springwebapp/index.jsp.vm (rev 0) +++ salto-db-generator/trunk/templates/springwebapp/index.jsp.vm 2007-04-05 09:29:17 UTC (rev 274) @@ -0,0 +1,16 @@ +<%@ page language="java" errorPage="/error.jsp" pageEncoding="UTF-8" contentType="text/html; charset=utf-8" %> +<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %> +<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> +<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> + <head> + </head> + <body> + This webapp has been generated by ${generatorVersion} at $date. +<%@ include file="/WEB-INF/pages/menu.jsp" %> + </body> +</html> \ No newline at end of file Modified: salto-db-generator/trunk/templates/springwebapp/list.jsp.vm =================================================================== --- salto-db-generator/trunk/templates/springwebapp/list.jsp.vm 2007-04-05 09:28:05 UTC (rev 273) +++ salto-db-generator/trunk/templates/springwebapp/list.jsp.vm 2007-04-05 09:29:17 UTC (rev 274) @@ -10,21 +10,18 @@ <head> <title><fmt:message key="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}List.title"/></title> </head> +<script language="javascript"> + +function remove${jdoInfo.javaClassName}(id) +{ +/* todo : ajax request with prototype*/ +document.location = 'delete${jdoInfo.javaClassName}.html?${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}Id='+id; +} + +</script> <body> +<%@ include file="menu.jsp" %> <h1>List of ${jdoInfo.javaClassName}s</h1> - <table> - <tr> -#foreach($col in ${jdoInfo.jdoColInfos}) - <th>${col.javaAttName}</th> -#end - </tr> -<c:forEach items="${${jdoInfo.javaClassName}list}" var="entry"> - <tr> -#foreach($col in ${jdoInfo.jdoColInfos}) - <td><c:out value="\$\{entry.${col.javaAttName}}" /></td> -#end - </tr> -</c:forEach> - </table> +<%@ include file="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}EmList.jsp" %> </body> </html> \ No newline at end of file Modified: salto-db-generator/trunk/templates/springwebapp/listcontroller.vm =================================================================== --- salto-db-generator/trunk/templates/springwebapp/listcontroller.vm 2007-04-05 09:28:05 UTC (rev 273) +++ salto-db-generator/trunk/templates/springwebapp/listcontroller.vm 2007-04-05 09:29:17 UTC (rev 274) @@ -6,7 +6,7 @@ import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.ParameterizableViewController; -import com.salto.pojodao.pojo.${jdoInfo.javaClassName}DAO; +import ${jdoInfo.javaPckName}.${jdoInfo.javaClassName}DAO; /** * <p>Spring controller to diplay list of ${jdoInfo.javaClassName}s</p> Added: salto-db-generator/trunk/templates/springwebapp/log4j.properties.vm =================================================================== --- salto-db-generator/trunk/templates/springwebapp/log4j.properties.vm (rev 0) +++ salto-db-generator/trunk/templates/springwebapp/log4j.properties.vm 2007-04-05 09:29:17 UTC (rev 274) @@ -0,0 +1,7 @@ +# This file has been generated by ${generatorVersion} at $date +log4j.rootCategory=info, stdout +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d %-5p %-17c{2} (%30F:%L) %3x- %m%n + + Added: salto-db-generator/trunk/templates/springwebapp/menu.jsp.vm =================================================================== --- salto-db-generator/trunk/templates/springwebapp/menu.jsp.vm (rev 0) +++ salto-db-generator/trunk/templates/springwebapp/menu.jsp.vm 2007-04-05 09:29:17 UTC (rev 274) @@ -0,0 +1,9 @@ +<div id="menu"> + <ul> +#foreach($jdoInfo in ${jdoInfos}) + <li><a href="addupdate${jdoInfo.javaClassName}.html">Add a ${jdoInfo.javaClassName}</a></li> + <li><a href="list${jdoInfo.javaClassName}.html">List ${jdoInfo.javaClassName}s</a></li> + <li><a href="search${jdoInfo.javaClassName}.html">Search ${jdoInfo.javaClassName}s</a></li> +#end + </ul> +</div> \ No newline at end of file Added: salto-db-generator/trunk/templates/springwebapp/searchcontroller.vm =================================================================== --- salto-db-generator/trunk/templates/springwebapp/searchcontroller.vm (rev 0) +++ salto-db-generator/trunk/templates/springwebapp/searchcontroller.vm 2007-04-05 09:29:17 UTC (rev 274) @@ -0,0 +1,121 @@ +package ${jdoInfo.javaPckName}.webapp.controller; + +#if ($util.getLength(${jdoInfo.getImportedFk()}) > 0) +import java.util.Map; +import org.springframework.ui.ModelMap; +#foreach($colfk in ${jdoInfo.getImportedFk()}) +#foreach($colfk2 in $colfk) +import ${jdoInfo.javaPckName}.${colfk2.pkJavaClassName}DAO; +#end +#end + +#end +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.validation.BindException; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.bind.ServletRequestDataBinder; +import org.springframework.web.servlet.mvc.SimpleFormController; + +import ${jdoInfo.javaPckName}.${jdoInfo.javaClassName}DAO; +import ${jdoInfo.javaPckName}.pojo.${jdoInfo.javaClassName}; + +#foreach($colfk in ${jdoInfo.getImportedFk()}) +#foreach($colfk2 in $colfk) +import ${jdoInfo.javaPckName}.pojo.${colfk2.pkJavaClassName}; +import ${jdoInfo.javaPckName}.webapp.editor.${colfk2.pkJavaClassName}EditorSupport; +#end +#end + +/** + * <p>Spring controller to search for ${jdoInfo.javaClassName}s</p> + * <p>Generated at $date</p> + * + * @author ${generatorVersion} + */ +public class ${jdoInfo.javaClassName}SearchController extends SimpleFormController { + + private ${jdoInfo.javaClassName}DAO ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO; + +#foreach($colfk in ${jdoInfo.getImportedFk()}) +#foreach($colfk2 in $colfk) + private ${colfk2.pkJavaClassName}DAO ${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}DAO; + + public void set${colfk2.pkJavaClassName}DAO(${colfk2.pkJavaClassName}DAO ${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}DAO) { + this.${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}DAO = ${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}DAO; + } + + public ${colfk2.pkJavaClassName}DAO get${colfk2.pkJavaClassName}DAO() { + return this.${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}DAO; + } + +#end +#end + public void set${jdoInfo.javaClassName}DAO(${jdoInfo.javaClassName}DAO ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO) { + this.${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO = ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO; + } + + public ${jdoInfo.javaClassName}DAO get${jdoInfo.javaClassName}DAO() { + return this.${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO; + } + +#if ($util.getLength(${jdoInfo.getImportedFk()}) > 0) + @Override + protected Map referenceData(HttpServletRequest request) throws Exception { + ModelMap modelMap = new ModelMap(); +#foreach($colfk in ${jdoInfo.getImportedFk()}) +#foreach($colfk2 in $colfk) + modelMap.addObject("${colfk2.pkJavaClassName}s", ${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}DAO.findAll()); +#end +#end + return modelMap; + } + +#end + /* + * (non-Javadoc) + * + * @see org.springframework.web.servlet.mvc.AbstractFormController#formBackingObject(javax.servlet.http.HttpServletRequest) + */ + @Override + protected Object formBackingObject(HttpServletRequest request) throws Exception { + + ${jdoInfo.javaClassName} ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})} = null; + if (request.getParameter("${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}Id") != null) { + ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})} = ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO.getById(Integer.parseInt(request.getParameter("${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}Id"))); + } else { + ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})} = new ${jdoInfo.javaClassName}(); + } + + return ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}; + } + + /* (non-Javadoc) + * @see org.springframework.web.servlet.mvc.SimpleFormController#onSubmit(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.Object, org.springframework.validation.BindException) + */ + @Override + protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response, Object command, BindException bindException) throws Exception { + + ModelAndView modelAndView = super.onSubmit(request, response, command, bindException); + + modelAndView.addObject("${jdoInfo.javaClassName}list", ${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}DAO.findByExample((${jdoInfo.javaClassName}) command, new String[0])); + + modelAndView.addAllObjects(this.referenceData(request)); + + return modelAndView; + } + + @Override + protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) throws Exception { + + super.initBinder(request, binder); +#foreach($colfk in ${jdoInfo.getImportedFk()}) +#foreach($colfk2 in $colfk) + binder.registerCustomEditor(${colfk2.pkJavaClassName}.class, new ${colfk2.pkJavaClassName}EditorSupport()); +#end +#end + + } + +} \ No newline at end of file Added: salto-db-generator/trunk/templates/springwebapp/searchform.jsp.vm =================================================================== --- salto-db-generator/trunk/templates/springwebapp/searchform.jsp.vm (rev 0) +++ salto-db-generator/trunk/templates/springwebapp/searchform.jsp.vm 2007-04-05 09:29:17 UTC (rev 274) @@ -0,0 +1,43 @@ +<%@ page language="java" errorPage="/error.jsp" pageEncoding="UTF-8" contentType="text/html; charset=utf-8" %> +<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %> +<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> +<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> +#if ($util.getLength($jdoInfo.pk) > 0) +#foreach($pk in $jdoInfo.pk) +#set ($pkEntry="${pk.javaAttName}") +#end +#end + <head> + </head> + <body> +<%@ include file="menu.jsp" %> + <h1>Search ${jdoInfo.javaClassName}s</h1> + <form:form commandName="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}" action="search${jdoInfo.javaClassName}.html" method="post"> + <ul> +#foreach($col in ${jdoInfo.nonFKColInfos}) + <li><label for="${col.javaAttName}">${col.javaAttName}</label><form:errors path="${col.javaAttName}" /><span><form:input path="${col.javaAttName}" id="${col.javaAttName}"/></span></li> +#end +#foreach($colfk in ${jdoInfo.getImportedFk()}) +#foreach($colfk2 in $colfk) + <li><label for="${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}">${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}</label> + <form:errors path="${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}" /> + <span> + <form:select path="${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}" id="${util.DoNameCreator.class2attribute(${colfk2.pkJavaClassName})}"> + <!-- I don't see any way to know which column should be displayed to the user, so you need to do the job yourself here... --> + <form:options items="${${colfk2.pkJavaClassName}s}" itemValue="${colfk2.pkJavaAttName}" itemLabel="${colfk2.pkJavaAttName}"/> + </form:select> + </span> + </li> +#end +#end + <li id="buttons"><input type="submit" name="search" value="Search" /></li> + </ul> + </form:form> +<%@ include file="${util.DoNameCreator.class2attribute(${jdoInfo.javaClassName})}EmList.jsp" %> + </body> +</html> \ No newline at end of file Modified: salto-db-generator/trunk/templates/springwebapp/web.xml.vm =================================================================== --- salto-db-generator/trunk/templates/springwebapp/web.xml.vm 2007-04-05 09:28:05 UTC (rev 273) +++ salto-db-generator/trunk/templates/springwebapp/web.xml.vm 2007-04-05 09:29:17 UTC (rev 274) @@ -15,7 +15,7 @@ </context-param> <context-param> <param-name>contextConfigLocation</param-name> - <param-value>/WEB-INF/applicationContext-*.xml,/WEB-INF/security.xml</param-value> + <param-value>/WEB-INF/applicationContext-*.xml</param-value> </context-param> <filter> @@ -53,6 +53,10 @@ <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class> </listener> + <listener> + <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> + </listener> + <servlet> <servlet-name>action</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rfl...@us...> - 2007-04-16 17:32:34
|
Revision: 283 http://svn.sourceforge.net/salto-db/?rev=283&view=rev Author: rflament Date: 2007-04-16 10:32:31 -0700 (Mon, 16 Apr 2007) Log Message: ----------- new loadById method Modified Paths: -------------- salto-db-generator/trunk/templates/hibernateejb3dao/abstracthibernatedao.vm salto-db-generator/trunk/templates/hibernateejb3dao/genericdao.vm salto-db-generator/trunk/templates/springhibernatedao/genericdao.vm salto-db-generator/trunk/templates/springhibernatedao/springhibernatedao.vm Modified: salto-db-generator/trunk/templates/hibernateejb3dao/abstracthibernatedao.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/abstracthibernatedao.vm 2007-04-16 17:30:53 UTC (rev 282) +++ salto-db-generator/trunk/templates/hibernateejb3dao/abstracthibernatedao.vm 2007-04-16 17:32:31 UTC (rev 283) @@ -56,6 +56,11 @@ } else return getById(id); } + + @SuppressWarnings("unchecked") + public T loadById(ID id) { + return (T) getSession().load(getPersistentClass(), id); + } public void save(T entity) { getSession().save(entity); Modified: salto-db-generator/trunk/templates/hibernateejb3dao/genericdao.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/genericdao.vm 2007-04-16 17:30:53 UTC (rev 282) +++ salto-db-generator/trunk/templates/hibernateejb3dao/genericdao.vm 2007-04-16 17:32:31 UTC (rev 283) @@ -14,6 +14,8 @@ T getById(ID id, boolean lock); T getById(ID id); + + T loadById(ID id); List<T> findAll(); Modified: salto-db-generator/trunk/templates/springhibernatedao/genericdao.vm =================================================================== --- salto-db-generator/trunk/templates/springhibernatedao/genericdao.vm 2007-04-16 17:30:53 UTC (rev 282) +++ salto-db-generator/trunk/templates/springhibernatedao/genericdao.vm 2007-04-16 17:32:31 UTC (rev 283) @@ -11,6 +11,8 @@ public interface GenericDAO<T, ID extends Serializable> { T getById(ID id); + + T loadById(ID id); List<T> findAll(); Modified: salto-db-generator/trunk/templates/springhibernatedao/springhibernatedao.vm =================================================================== --- salto-db-generator/trunk/templates/springhibernatedao/springhibernatedao.vm 2007-04-16 17:30:53 UTC (rev 282) +++ salto-db-generator/trunk/templates/springhibernatedao/springhibernatedao.vm 2007-04-16 17:32:31 UTC (rev 283) @@ -39,6 +39,9 @@ return (${jdoInfo.javaClassName}) getSession().get(${jdoInfo.javaClassName}.class, id); } + public ${jdoInfo.javaClassName} loadById($pk id) { + return (${jdoInfo.javaClassName}) getSession().load(${jdoInfo.javaClassName}.class, id); + } /** * Find ${jdoInfo.javaClassName} by criteria. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rfl...@us...> - 2007-04-16 17:37:00
|
Revision: 284 http://svn.sourceforge.net/salto-db/?rev=284&view=rev Author: rflament Date: 2007-04-16 10:36:58 -0700 (Mon, 16 Apr 2007) Log Message: ----------- removeById didn't handle cascade on foreign keys Modified Paths: -------------- salto-db-generator/trunk/templates/hibernateejb3dao/genericdao.vm salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedao.vm salto-db-generator/trunk/templates/springhibernatedao/genericdao.vm salto-db-generator/trunk/templates/springhibernatedao/springhibernatedao.vm Modified: salto-db-generator/trunk/templates/hibernateejb3dao/genericdao.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/genericdao.vm 2007-04-16 17:32:31 UTC (rev 283) +++ salto-db-generator/trunk/templates/hibernateejb3dao/genericdao.vm 2007-04-16 17:36:58 UTC (rev 284) @@ -29,6 +29,6 @@ void delete(T entity, Boolean doItNow); - int deleteById(ID id); + void deleteById(ID id); } \ No newline at end of file Modified: salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedao.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedao.vm 2007-04-16 17:32:31 UTC (rev 283) +++ salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedao.vm 2007-04-16 17:36:58 UTC (rev 284) @@ -48,10 +48,9 @@ return criteria.list(); } - public int deleteById($pk id) { - Query q = getSession().createQuery("delete from ${jdoInfo.javaClassName} where id = :id"); - q.setParameter("id",id); - return q.executeUpdate(); + public void deleteById($pk id) { + ${jdoInfo.javaClassName} $util.doNameCreator.class2attribute($col.javaAttName) = loadById(id); + this.getSession().delete($util.doNameCreator.class2attribute($col.javaAttName)); } #if ($util.getLength($jdoInfo.getPk()) > 1) Modified: salto-db-generator/trunk/templates/springhibernatedao/genericdao.vm =================================================================== --- salto-db-generator/trunk/templates/springhibernatedao/genericdao.vm 2007-04-16 17:32:31 UTC (rev 283) +++ salto-db-generator/trunk/templates/springhibernatedao/genericdao.vm 2007-04-16 17:36:58 UTC (rev 284) @@ -26,7 +26,7 @@ void delete(T entity, Boolean doItNow); - int deleteById(ID id); + void deleteById(ID id); public List<T> findByExample(T exampleInstance, String[] excludeProperty); Modified: salto-db-generator/trunk/templates/springhibernatedao/springhibernatedao.vm =================================================================== --- salto-db-generator/trunk/templates/springhibernatedao/springhibernatedao.vm 2007-04-16 17:32:31 UTC (rev 283) +++ salto-db-generator/trunk/templates/springhibernatedao/springhibernatedao.vm 2007-04-16 17:36:58 UTC (rev 284) @@ -55,9 +55,8 @@ } public int deleteById($pk id) { - Query q = getSession().createQuery("delete from ${jdoInfo.javaClassName} where id = :id"); - q.setParameter("id",id); - return q.executeUpdate(); + ${jdoInfo.javaClassName} $util.doNameCreator.class2attribute($col.javaAttName) = loadById(id); + this.getSession().delete($util.doNameCreator.class2attribute($col.javaAttName)); } @SuppressWarnings("unchecked") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rfl...@us...> - 2007-04-20 12:21:01
|
Revision: 286 http://svn.sourceforge.net/salto-db/?rev=286&view=rev Author: rflament Date: 2007-04-20 05:20:59 -0700 (Fri, 20 Apr 2007) Log Message: ----------- Modified Paths: -------------- salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedao.vm salto-db-generator/trunk/templates/springhibernatedao/springhibernatedao.vm Modified: salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedao.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedao.vm 2007-04-20 09:42:25 UTC (rev 285) +++ salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedao.vm 2007-04-20 12:20:59 UTC (rev 286) @@ -49,8 +49,8 @@ } public void deleteById($pk id) { - ${jdoInfo.javaClassName} $util.doNameCreator.class2attribute($col.javaAttName) = loadById(id); - this.getSession().delete($util.doNameCreator.class2attribute($col.javaAttName)); + ${jdoInfo.javaClassName} $util.doNameCreator.class2attribute(${jdoInfo.javaClassName}) = loadById(id); + this.getSession().delete($util.doNameCreator.class2attribute(${jdoInfo.javaClassName})); } #if ($util.getLength($jdoInfo.getPk()) > 1) Modified: salto-db-generator/trunk/templates/springhibernatedao/springhibernatedao.vm =================================================================== --- salto-db-generator/trunk/templates/springhibernatedao/springhibernatedao.vm 2007-04-20 09:42:25 UTC (rev 285) +++ salto-db-generator/trunk/templates/springhibernatedao/springhibernatedao.vm 2007-04-20 12:20:59 UTC (rev 286) @@ -55,8 +55,8 @@ } public int deleteById($pk id) { - ${jdoInfo.javaClassName} $util.doNameCreator.class2attribute($col.javaAttName) = loadById(id); - this.getSession().delete($util.doNameCreator.class2attribute($col.javaAttName)); + ${jdoInfo.javaClassName} $util.doNameCreator.class2attribute(${jdoInfo.javaClassName}) = loadById(id); + this.getSession().delete($util.doNameCreator.class2attribute(${jdoInfo.javaClassName})); } @SuppressWarnings("unchecked") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rfl...@us...> - 2007-04-24 10:10:30
|
Revision: 293 http://svn.sourceforge.net/salto-db/?rev=293&view=rev Author: rflament Date: 2007-04-24 03:10:29 -0700 (Tue, 24 Apr 2007) Log Message: ----------- use hibernate criterias instead of HQl queries Modified Paths: -------------- salto-db-generator/trunk/templates/hibernateejb3dao/abstracthibernatedao.vm salto-db-generator/trunk/templates/hibernateejb3dao/common-abstracthibernatedao.vm salto-db-generator/trunk/templates/hibernateejb3dao/dao.vm salto-db-generator/trunk/templates/hibernateejb3dao/genericdao.vm salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedao.vm salto-db-generator/trunk/templates/springhibernatedao/springabstracthibernatedao.vm Modified: salto-db-generator/trunk/templates/hibernateejb3dao/abstracthibernatedao.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/abstracthibernatedao.vm 2007-04-23 17:18:16 UTC (rev 292) +++ salto-db-generator/trunk/templates/hibernateejb3dao/abstracthibernatedao.vm 2007-04-24 10:10:29 UTC (rev 293) @@ -4,12 +4,14 @@ import java.io.Serializable; import java.lang.reflect.ParameterizedType; import java.util.List; +import java.util.Map; import org.hibernate.Criteria; import org.hibernate.FlushMode; import org.hibernate.Query; import org.hibernate.LockMode; import org.hibernate.Session; +import org.hibernate.criterion.Restrictions; import org.hibernate.criterion.Criterion; import org.hibernate.criterion.Example; Modified: salto-db-generator/trunk/templates/hibernateejb3dao/common-abstracthibernatedao.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/common-abstracthibernatedao.vm 2007-04-23 17:18:16 UTC (rev 292) +++ salto-db-generator/trunk/templates/hibernateejb3dao/common-abstracthibernatedao.vm 2007-04-24 10:10:29 UTC (rev 293) @@ -37,13 +37,10 @@ getSession().delete(entity); } - public void delete(T entity, Boolean doItNow) { - if (doItNow) { - getSession().setFlushMode(FlushMode.ALWAYS); - } - delete(entity); + public void deleteById(ID id) { + getSession().delete(loadById(id)); } - + @SuppressWarnings("unchecked") public List<T> findAll() { return findByCriteria(); @@ -60,7 +57,18 @@ } return crit.list(); } + + /** + * Find by criteria. + */ + @SuppressWarnings("unchecked") + public List<T> findByCriteria(Map criterias) { + Criteria criteria = getSession().createCriteria(getPersistentClass()); + criteria.add(Restrictions.allEq(criterias)); + return criteria.list(); + } + /** * This method will execute an HQL query and return the number of affected entities. */ Modified: salto-db-generator/trunk/templates/hibernateejb3dao/dao.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/dao.vm 2007-04-23 17:18:16 UTC (rev 292) +++ salto-db-generator/trunk/templates/hibernateejb3dao/dao.vm 2007-04-24 10:10:29 UTC (rev 293) @@ -1,6 +1,5 @@ package ${jdoInfo.javaPckName}; -import java.util.Map; import java.util.List; import java.sql.Timestamp; @@ -34,13 +33,7 @@ * You might want to extend this interface and to change the dao factory to return * an instance of the new implemenation in build${jdoInfo.javaClassName}DAO() */ - - /** - * Find ${jdoInfo.javaClassName} by criteria. - */ - public List<${jdoInfo.javaClassName}> findByCriteria(Map criterias); - - + #if ($util.getLength($jdoInfo.getPk()) > 1) #foreach($col in ${jdoInfo.jdoColInfos}) /** Modified: salto-db-generator/trunk/templates/hibernateejb3dao/genericdao.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/genericdao.vm 2007-04-23 17:18:16 UTC (rev 292) +++ salto-db-generator/trunk/templates/hibernateejb3dao/genericdao.vm 2007-04-24 10:10:29 UTC (rev 293) @@ -2,6 +2,7 @@ import java.io.Serializable; import java.util.List; +import java.util.Map; /** * Generated at $date @@ -18,6 +19,8 @@ T loadById(ID id); List<T> findAll(); + + List<T> findByCriteria(Map criterias); void save(T entity); @@ -26,8 +29,6 @@ void saveOrUpdate(T entity); void delete(T entity); - - void delete(T entity, Boolean doItNow); void deleteById(ID id); Modified: salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedao.vm =================================================================== --- salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedao.vm 2007-04-23 17:18:16 UTC (rev 292) +++ salto-db-generator/trunk/templates/hibernateejb3dao/hibernatedao.vm 2007-04-24 10:10:29 UTC (rev 293) @@ -1,6 +1,5 @@ package ${jdoInfo.javaPckName}.hibernate; -import java.util.Map; import java.util.List; import java.sql.Timestamp; @@ -10,8 +9,6 @@ import ${jdoInfo.javaPckName}.pojo.${jdoInfo.javaClassName}.${jdoInfo.javaClassName}PK; #end -import org.hibernate.Criteria; -import org.hibernate.Query; import org.hibernate.criterion.Restrictions; #set ($pk="Long") #foreach($col in ${jdoInfo.jdoColInfos}) @@ -35,22 +32,6 @@ public class ${jdoInfo.javaClassName}HibernateDAO extends AbstractHibernateDAO<${jdoInfo.javaClassName}, $pk> implements ${jdoInfo.javaClassName}DAO { - - /** - * Find ${jdoInfo.javaClassName} by criteria. - */ - @SuppressWarnings("unchecked") - public List<${jdoInfo.javaClassName}> findByCriteria(Map criterias) { - - Criteria criteria = getSession().createCriteria(${jdoInfo.javaClassName}.class); - criteria.add(Restrictions.allEq(criterias)); - return criteria.list(); - } - - public void deleteById($pk id) { - ${jdoInfo.javaClassName} $util.doNameCreator.class2attribute(${jdoInfo.javaClassName}) = loadById(id); - this.getSession().delete($util.doNameCreator.class2attribute(${jdoInfo.javaClassName})); - } #if ($util.getLength($jdoInfo.getPk()) > 1) #foreach($col in ${jdoInfo.jdoColInfos}) @@ -70,10 +51,7 @@ */ @SuppressWarnings("unchecked") public List<${jdoInfo.javaClassName}> findBy$util.doNameCreator.attribute2class($col.javaAttName)($col.getNonPrimitifClass() ${col.javaAttName}) { - Query q = getSession().createQuery("from ${jdoInfo.javaClassName} where $util.doNameCreator.class2attribute($util.doNameCreator.createDoName(${colfk2.getPkTableName()})).${col.javaAttName} = :${col.javaAttName}"); - q.setParameter("${col.javaAttName}",${col.javaAttName}); - q.setCacheable(true); - return q.list(); + return findByCriteria(Restrictions.eq("$util.doNameCreator.class2attribute($util.doNameCreator.createDoName(${colfk2.getPkTableName()})).${col.javaAttName}", ${col.javaAttName})); } #end @@ -83,12 +61,8 @@ /** * Find ${jdoInfo.javaClassName} by ${col.javaAttName} */ - @SuppressWarnings("unchecked") public List<${jdoInfo.javaClassName}> findBy$util.doNameCreator.attribute2class($col.javaAttName)($col.getNonPrimitifClass() ${col.javaAttName}) { - Query q = getSession().createQuery("from ${jdoInfo.javaClassName} where ${col.javaAttName} = :${col.javaAttName}"); - q.setParameter("${col.javaAttName}",${col.javaAttName}); - q.setCacheable(true); - return q.list(); + return findByCriteria(Restrictions.eq("${col.javaAttName}", ${col.javaAttName})); } #else @@ -96,12 +70,8 @@ /** * Find ${jdoInfo.javaClassName} by ${col.javaAttName} */ - @SuppressWarnings("unchecked") public List<${jdoInfo.javaClassName}> findBy$util.doNameCreator.attribute2class($col.javaAttName)($col.getNonPrimitifClass() ${col.javaAttName}) { - Query q = getSession().createQuery("from ${jdoInfo.javaClassName} where id.${col.javaAttName} = :${col.javaAttName}"); - q.setParameter("${col.javaAttName}",${col.javaAttName}); - q.setCacheable(true); - return q.list(); + return findByCriteria(Restrictions.eq("id.${col.javaAttName}", ${col.javaAttName})); } #end #end @@ -124,10 +94,7 @@ */ @SuppressWarnings("unchecked") public List<${jdoInfo.javaClassName}> findBy$util.doNameCreator.attribute2class($col.javaAttName)($col.getNonPrimitifClass() ${col.javaAttName}) { - Query q = getSession().createQuery("from ${jdoInfo.javaClassName} where $util.doNameCreator.class2attribute($util.doNameCreator.createDoName(${colfk2.getPkTableName()})).${col.javaAttName} = :${col.javaAttName}"); - q.setParameter("${col.javaAttName}",${col.javaAttName}); - q.setCacheable(true); - return q.list(); + return findByCriteria(Restrictions.eq("$util.doNameCreator.class2attribute($util.doNameCreator.createDoName(${colfk2.getPkTableName()})).${col.javaAttName}", ${col.javaAttName})); } #end @@ -137,12 +104,8 @@ /** * Find ${jdoInfo.javaClassName} by ${col.javaAttName} */ - @SuppressWarnings("unchecked") public List<${jdoInfo.javaClassName}> findBy$util.doNameCreator.attribute2class($col.javaAttName)($col.getNonPrimitifClass() ${col.javaAttName}) { - Query q = getSession().createQuery("from ${jdoInfo.javaClassName} where ${col.javaAttName} = :${col.javaAttName}"); - q.setParameter("${col.javaAttName}",${col.javaAttName}); - q.setCacheable(true); - return q.list(); + return findByCriteria(Restrictions.eq("${col.javaAttName}", ${col.javaAttName})); } #end Modified: salto-db-generator/trunk/templates/springhibernatedao/springabstracthibernatedao.vm =================================================================== --- salto-db-generator/trunk/templates/springhibernatedao/springabstracthibernatedao.vm 2007-04-23 17:18:16 UTC (rev 292) +++ salto-db-generator/trunk/templates/springhibernatedao/springabstracthibernatedao.vm 2007-04-24 10:10:29 UTC (rev 293) @@ -4,12 +4,14 @@ import java.io.Serializable; import java.lang.reflect.ParameterizedType; import java.util.List; +import java.util.Map; import org.hibernate.Criteria; import org.hibernate.FlushMode; import org.hibernate.Query; import org.hibernate.LockMode; import org.hibernate.Session; +import org.hibernate.criterion.Restrictions; import org.hibernate.criterion.Criterion; import org.hibernate.criterion.Example; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |