gpt4 book ai didi

java - 使用java持久化API集成Spring Hibernate?

转载 作者:行者123 更新时间:2023-11-30 04:03:05 25 4
gpt4 key购买 nike

我正在使用 Spring3 和 Hibernate4。我有以下配置来使用 spring 和 hibernate。

pom依赖

     <dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.2.8.Final</version>
</dependency>

<dependency>
<groupId>oracle</groupId>
<artifactId>ojdbc</artifactId>
<version>1.4</version>
</dependency>

<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>

applicationContext.xml

<bean name="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="annotatedClasses">
<list>
<value>com.rsat.Employee</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.use_sql_comments">true</prop>
<prop key="hibernate.jdbc.batch_size">50</prop>
<!-- Added to mask bean relational constraint validation error -->
<prop key="javax.persistence.validation.mode">none</prop>
</props>
</property>
</bean>

<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>

<!-- Hibernate Transaction manager for US data source -->
<tx:annotation-driven transaction-manager="transactionManager" />

SomeDao.java

@Repository
public class SomeDao implements ISomeDao{

@Autowired
SessionFactory sessionFactory;
//DAO methods here

}

员工.java

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;

@Entity(name = "EMPLOYEE")
public class Employee{
@Id
Long id;
@Column(name = "NAME")
String userName;

//setter and getters

}

以上配置工作正常,没有任何问题。

但现在我被要求使用 Hibernate JPA 并使用 persistence.xml。

您能告诉我推荐哪种方法吗?另外我如何使用 Hibernate JPA ?

谢谢!

最佳答案

JPA 并不是 Hibernate 的真正替代品。 JPA 是 ORM(对象关系映射)的通用规范。与 Java 中其他子技术的情况一样,一旦许多供应商开始发明类似的东西,Java 社区就会尝试创建一个规范来标准化它。最新版本的 Hibernate 确实实现了 JPA 规范(以及 EclipseLink/DataNucleus/.. 等等)。

使用 Hibernate-over-JPA 的好处是您的代码符合标准。因此,如果以后无论出于何种原因您决定更改 ORM 供应商,您可以通过最少的代码重构来实现(因为其他供应商也会(应该)遵守标准)

网上有很多关于如何将 JPA/Hibernate 与 Spring 结合使用的教程。当我第一次开始使用时,一个有用的方法是查看 Spring Roo 项目——这是一个代码生成器工具,可以构建一个现成的 Spring MVC/JPA/Hibernate 代码项目。从那里您可以检查配置和设置。

关于java - 使用java持久化API集成Spring Hibernate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21472456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com