Spring下使用Hibenrate annotation
随着
Hibernate3.2ga的推出,
hibernate-
annotation-3.2ga和
hibernate-entitymanager也随之推出。EntityManager还没有用过,但是
Annotation却彻底解决了hbm文件和domain类同步的问题。
hibernate-
annotation的中文文档也很详细,感谢翻译者的辛勤劳动。
于是将正在进行的 hibernate项目进行了升级,为了防止忘记,将步骤记录如下:
BTW, AnnotationSessionFactoryBean的annotatedPackages属性允许输入包名,但是我试了很多次没有成功,提示unmapped entity,还望达人指教。
接下来最麻烦的是修改domain类,注意要保留原有的Xdoclet注释,以防万一。简单的办法是使用最新的 HibernateTools,我们直接安装了JBossIDE2.0Beta2,简略的使用步骤为:
于是将正在进行的 hibernate项目进行了升级,为了防止忘记,将步骤记录如下:
- 将最新的hibernate.jar和hibernate-annotation.jar以及ejb3-persistence.jar加入classpath.
- 修改spring配置文件中的sessionFactory:
- <bean id="sessionFactory" class="org.<SPAN class=hilite1>spring</SPAN>framework.orm.<SPAN class=hilite2>hibernate</SPAN>3.<SPAN class=hilite3>annotation</SPAN>.<SPAN class=hilite3>Annotation</SPAN>SessionFactoryBean">
- <property name="dataSource"><ref bean="dataSource" /></property>
- <property name="annotatedClasses"><!-- or use <property name="annotatedPackages"> -->
- <list>
- <value>security.user.model.User</value>
- <value>security.user.model.Dept</value>
- </list>
- </property>
- ..
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource"><ref bean="dataSource" /></property> <property name="annotatedClasses"><!-- or use <property name="annotatedPackages"> --> <list> <value>security.user.model.User</value> <value>security.user.model.Dept</value> </list> </property> ..
- 删除原有的hbm文件.
BTW, AnnotationSessionFactoryBean的annotatedPackages属性允许输入包名,但是我试了很多次没有成功,提示unmapped entity,还望达人指教。
接下来最麻烦的是修改domain类,注意要保留原有的Xdoclet注释,以防万一。简单的办法是使用最新的 HibernateTools,我们直接安装了JBossIDE2.0Beta2,简略的使用步骤为:
- 使用向导建立一个Hibernate Configuration File(cfg.xml),同时创建一个console configuration,注意加入jdbc driver和ejb3-persistence.jar
- 然后新建一个Hibernate Code Generation,同时创建reveng.xml,目的是配置反相工程的一些策略。注意正确的配置Exporters选项.
- run!
评论