[hibernate-issues] [Hibernate-JIRA] Commented: (HBX-733) Updated DAO code generation as discussed over the email

Alex Kalinovsky (JIRA) noreply at atlassian.com
Wed Sep 6 08:58:24 EDT 2006


    [ http://opensource.atlassian.com/projects/hibernate/browse/HBX-733?page=comments#action_24330 ] 

Alex Kalinovsky commented on HBX-733:
-------------------------------------

IMHO Spring has the cleanest approach to managing Hibernate session factory. It provides a LocalSessionFactory class that can be used to run Hibernate DAOs outside of a container using a Spring data source. When running inside of a container, it would configure the session factory to use JNDI-bound data source and JTA transaction manager if needed. The DAOs I have submitted are Spring-friendly because they are injected with the SessionFactory.

Since the getSessionFactory() method is in the base class, it can always be re-implemented to use HibernateUtil class or another mecanism for managing the session.


> Updated DAO code generation as discussed over the email
> -------------------------------------------------------
>
>          Key: HBX-733
>          URL: http://opensource.atlassian.com/projects/hibernate/browse/HBX-733
>      Project: Hibernate Tools
>         Type: Patch

>   Components: hbm2java, ant
>     Versions: 3.1alpha5
>  Environment: I have tested the patch on the latest version of Hibernate Tools I got from SVN 2 weeks ago.
>     Reporter: Alex Kalinovsky
>  Attachments: dao_generation.patch
>
> Original Estimate: 3 days
>         Remaining: 3 days
>
> This should be a complete implementation of DAO generation according to the design we have discussed over the email. I've tested this on our project so the DAOs should be good to go, but of course a more diverse testing would be needed before releasing it to public. I'm open for recommendations and suggestions, so I see this as the first draft. Below is a list of files and comments. Contact me at kalinovsky at yahoo.com.
> src/java/org/hibernate/tool/hbm2x
>     DAONewExporter.java     This class is coded mainly to accept additional parameters such as dao package name and provide flexible
>                             file naming that is used by Ant task. It would not be needed if I integrate my changes into GenericExporter.
>     
> src/templates/dao
>     crudDao.ftl             template for regeneratable CRUD interface
>     crudDaoImpl.ftl         template for regeneratable CRUD DAO implementation
>     dao.ftl                 template for customizable DAO interface that extends CRUD interface
>     daoImpl.ftl             template for customizable DAO implementation that extends CRUD implementation
>  
> src/templates/dao/base
>     dao.ftl                 base interface for all DAOs
>     queryDao.ftl            base interface for all read-only entities
>     crudDao.ftl             base interface for all editable entities
> src/templates/dao/base/hibernate
>     abstractDao.ftl         base implementation of DAO using Hibernate
>     abstractQueryDao.ftl    base implementation of DAO for read-only entities using Hibernate
>     abstractCrudDao.ftl     base implementation of DAO for editable entities using Hibernate
> src/testsupport
>     codegen.properties      Test configuration to see DAO generation in action
>     codegen-build.xml       Test build file that generates DAOs for Author and Article and compiles generated code

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira




More information about the hibernate-issues mailing list