【发布时间】:2012-08-30 00:58:43
【问题描述】:
在我之前的 Spring MVC 项目中,我使用 Hibernate 作为 JPA 的提供者。我不必创建 hibernate.cfg.xml 文件,因为我已经在 Spring DispatcherServlet 上下文文件中声明了 Hibernate Session Factory,并且我已经声明了 persistence.xml 文件。
在我的新项目中,我基本上想使用 Hibernate。我已经从我的数据库结构中生成了实体类。但是在 IDEA DAO 中没有生成类,为什么?我可以以某种方式在 IDEA 中生成 DAO 类吗?在生成这个 POJO 期间,我还在 DispatcherSerlvet 上下文文件中创建了 Hibernate Session Factory 的实体类。
我创建了自己的简单 DAO 类来检查数据库中的持久类。但是出现了这个错误:
Error in creating SessionFactory object./hibernate.cfg.xml not found
所以我假设我必须创建hibernate.cfg.xml。如果是的话,我是否必须在我的 DispatcherServlet 上下文文件中保留 Hibernate Session Factory 声明?
编辑
<!-- Hibernate session factory -->
<beans:bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<beans:property name="dataSource">
<beans:ref bean="dataSource" />
</beans:property>
<beans:property name="hibernateProperties">
<beans:props>
<beans:prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</beans:prop>
<beans:prop key="hibernate.show_sql">true</beans:prop>
<beans:prop key="hibernate.hbm2ddl.auto">update</beans:prop>
<beans:prop key="hibernate.connection.url">jdbc:mysql://localhost/finances</beans:prop>
<beans:prop key="hibernate.connection.driver_class">com.mysql.jdbc.Driver</beans:prop>
<beans:prop key="hibernate.connection.username">root</beans:prop>
<beans:prop key="hibernate.connection.password">root</beans:prop>
</beans:props>
</beans:property>
<beans:property name="annotatedClasses">
<beans:list>
<beans:value>my.package.FirstClass</beans:value>
<beans:value>my.package.SecondClass</beans:value>
</beans:list>
</beans:property>
</beans:bean>
<!-- Hibernate session factory end -->
<beans:bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<beans:property name="sessionFactory" ref="sessionFactory" />
</beans:bean>
编辑#2
我已将带注释的类和连接定义移至hibernate.cfg.xml 文件。我已经从 spring 配置文件中删除了会话工厂定义和 Transaction Manager 定义。我在我的数据库中的简单持久对象工作正常。那么也许这是使用 Spring MVC 和 Hibernate 的最短方法?但是Transaction Manager 呢?这是其他操作或操作所要求的吗?
【问题讨论】:
标签: java spring hibernate spring-mvc intellij-idea