要将 hibernate 集成到 spring 框架中,请遵循以下步骤:添加 maven 依赖项;配置数据源;创建 entitymanager bean;配置事务管理器;启用 persistent exception translation。

如何将 Hibernate 集成到 Spring 框架?
引言
Hibernate 是一个用于对象-关系映射 (ORM) 的持久化框架,而 Spring 是一个受欢迎的 Java 应用程序框架。将 Hibernate 集成到 Spring 中可以简化数据库访问,并提供企业级功能。
集成步骤
1. 添加依赖项
在 Maven 项目的 pom.xml 文件中,添加以下依赖项:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>
登录后复制
2. 配置数据源
在 Spring 配置文件中(例如 application.properties),配置数据库连接详细信息:
spring.datasource.driver-class-name=com.<a style='color:#f60; text-decoration:underline;' href="https://www.php.cn/zt/15713.html" target="_blank">mysql</a>.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/mydb spring.datasource.username=user spring.datasource.password=password
登录后复制
3. 创建 EntityManager Bean
创建一个 EntityManagerFactoryBean Bean 以管理与数据库的交互:
@Bean
public EntityManagerFactory entityManagerFactory() {
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
vendorAdapter.setGenerateDdl(true);
LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean();
factory.setDataSource(dataSource());
factory.setJpaVendorAdapter(vendorAdapter);
factory.setPackagesToScan("com.example.myproject.entity");
return factory.getObject();
}
登录后复制
4. 配置事务管理器
创建一个 PlatformTransactionManager Bean 以管理事务:
@Bean
public PlatformTransactionManager transactionManager(@Qualifier("entityManagerFactory") EntityManagerFactory emf) {
JpaTransactionManager transactionManager = new JpaTransactionManager();
transactionManager.setEntityManagerFactory(emf);
return transactionManager;
}
登录后复制
5. 启用 Persistent Exception Translation
通过在 Spring 配置文件中添加以下属性,启用 Persistent Exception Translation:
spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true
登录后复制
实战案例
以下 Java 代码展示了如何使用 Hibernate 保存一个实体:
@Entity
public class Person {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String name;
}
@Service
public class PersonService {
@Autowired
private EntityManagerFactory entityManagerFactory;
public void save(Person person) {
EntityManager entityManager = entityManagerFactory.createEntityManager();
entityManager.getTransaction().begin();
entityManager.persist(person);
entityManager.getTransaction().commit();
}
}
登录后复制
以上就是Hibernate 如何与 Spring 框架集成?的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:城南北边,转转请注明出处:https://www.dingdanghao.com/article/362422.html
