本站资源收集于互联网,不提供软件存储服务,每天免费更新优质的软件以及学习资源!

Hibernate如何与Spring框架集成?

网络教程 app 1℃

Hibernate如何与Spring框架集成

要将 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=.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/mydbspring.datasource.username=userspring.datasource.password=password

3. 创建 EntityManager Bean

创建一个 EntityManagerFactoryBean Bean 以管理与数据库的交互:

@Beanpublic EntityManagerFactory entityManagerFactory() { HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter(); vendorAdapter.setGenerateDdl(true); LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean(); factory.setDataSource(dataSource()); factory.setJpaVendorAdapter(vendorAdapter); factory.setPackagesToScan(".example.myproject.entity"); return factory.getObject();}

4. 配置事务管理器

创建一个 PlatformTransactionManager Bean 以管理事务:

@Beanpublic 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 保存一个实体:

@Entitypublic class Person { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; private String name;}@Servicepublic class PersonService { @Autowired private EntityManagerFactory entityManagerFactory; public void save(Person person) { EntityManager entityManager = entityManagerFactory.createEntityManager(); entityManager.getTransaction().begin(); entityManager.persist(person); entityManager.getTransaction().mit(); }}

以上就是Hibernate 如何与 Spring 框架集成?的详细内容,更多请关注范的资源库其它相关文章!

转载请注明:范的资源库 » Hibernate如何与Spring框架集成?

喜欢 (0)