要将 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(); } }
登录后复制
以上是Hibernatete 如何与 Spring 框架集成?详情请关注图灵教育的其他相关文章!
