采用myeclipse5.5.1 GA生成了JPA的POJO以及DAO和EntityManagerHelper。测试了一下,需要自己维护事务。也就是调用EntityManager.beginTransaction();开始事务,提交事务等。感觉不太方便,可以采用Spring的AOP来做事务管理。
将生成的POJO拷贝到Spring环境中的model下,在applicationContext.xml中加入以下内容:
xml 代码
- <!--Hibernate SessionFatory-->
- < bean id = "sessionFactory" class = "org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" >
- < property name = "dataSource" ref = "dataSource" />
- < property name = "annotatedClasses" >
- < list >
- < value > org.fanth.jpa.model.User </ value >
- < value > org.fanth.jpa.model.Role </ value >
- < value > org.fanth.jpa.model.UserRole </ value >
- <!-- 在这里加入JPA的POJO -->
- </ list >
- </ property >
-
- < property name = "hibernateProperties" >
- < props >
- < prop key = "hibernate.dialect" > org.hibernate.dialect.MySQLDialect </ prop >
- < prop key = "hibernate.show_sql" > false </ prop >
- < prop key = "hibernate.cache.provider_class" > org.hibernate.cache.EhCacheProvider </ prop >
- < prop key = "hibernate.cache.use_query_cache" > true </ prop >
- </ props >
- </ property >
- </ bean >
- <!--Hibernate TransactionManager-->
- < bean id = "transactionManager" class = "org.springframework.orm.hibernate3.HibernateTransactionManager" >
- < property name = "sessionFactory" ref = "sessionFactory" />
- </ bean >
OK,到这里就完成了JPA的POJO替换Hibernate的POJO。
好处就是没有了*.hbm.xml文件,程序更加简练,拥有了JPA的优点。
坏处就是如果需要更改配置的时候,需要重新编译POJO类,不如XML那么方便。
本文介绍如何利用MyEclipse生成的JPA POJO和DAO结合Spring AOP实现事务管理。通过将JPA POJO集成到Spring环境中,并配置Hibernate SessionFactory和TransactionManager,简化了事务处理流程。

747

被折叠的 条评论
为什么被折叠?



