[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