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

Alex Kalinovsky (JIRA) noreply at atlassian.com
Fri Nov 3 02:23:05 EST 2006


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

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

I have submitted a patch more then 2 months ago. We are not in production using the code generator and it works GREAT! It's easy to maintain the generated model objects and DAOs because we generate a regeneratable base class and a customizable subclass. Any database changes can be synched up. Same is done for DAOs. I've added generation of Mock DAOs and unit tests so our entire persistence layer is generated. Saved a ton of time.

I am also generating POJO services synched up with DAOs and Spring context that wires it all together.

I don't know why the patch hasn't been accepted yet because while it may not be perfect, it is clearly much better then the current DAO generation. I was willing, and I am still willing, to integrate it into Hibernate Tools.


> 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