我计划用Hibernate5.3创建一个spring boot(版本2)应用程序,但是我在集成Hibernate5时遇到了一些问题。由于它是一个Spring Boot应用程序,容器将自动配置数据源和JPA变体EntityManagerFactory并且我们可以使用unwrap()方法从这个EntityManagerFactory创建Hibernate SessionFactory。
这是我的Hibernate配置类代码
@Configuration
public class HibernateUtil {
@Autowired
private EntityManagerFactory entityMangerFact;
@Bean
public SessionFactory sessionFactory() {
return entityMangerFact.unwrap(SessionFactory.class);
}
}
但它正在删除BeanCurrentlyInCreationException。但是如果我把unwrap()放在服务类方法中,它就不会抛出异常。但我认为这不是正确的做法,因为我们会有更多的服务方法,而且我们可能需要对每个服务方法调用unwrap()。错误日志:
Caused by: org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'sessionFactory': Requested bean is currently in creation: Is there an unresolvable circular reference?
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.beforeSingletonCreation(DefaultSingletonBeanRegistry.java:339) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:215) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
为什么unwrap()在configuration类中失败了?
在spring-boot中,您可以访问EntityManagerFactory,因为您可以签入此数据源配置,但您不需要直接使用EntityManager
与数据库交互,您可以使用Spring-Data-jpa
本文向大家介绍基于springboot2集成jpa,创建dao的案例,包括了基于springboot2集成jpa,创建dao的案例的使用技巧和注意事项,需要的朋友参考一下 springboot中集成jpa需要再pom文件中添加jpa的jar包,使用springboot的话iju不用自己规定版本号了,自动管理依赖版本即可。 然后我们再添加hibernate和oracle的jar包,同样自动管理版本。
我正在尝试使用 https://github.com/spring-projects/spring-security-oauth2-boot 使用本教程:https://docs.spring.io/spring-security-oauth2-boot/docs/current-SNAPSHOT/reference/htmlsingle/ SpringBoot应用程序 服务器初始化器 用户详细信
我正在使用Hibernate 5和Spring 4.2。3.我找不到将eventListener添加到SessionFactory范围的方法。我只需要在hibernate持久化对象之前设置一个日期。我在Spring定义了sessionFactory。xml 我有我的GenericDAOImpl在哪里得到这个会话工厂: 我已经看到了几种方法,但其中一些方法不适用于Hibernate 5(如)。我找不
我有一个redis集群,有主服务器、从服务器和3个哨兵服务器。主从映射到dns名称node1-redis-dev.com、node2-redis-dev.com。redis服务器版本为2.8 我在application.properties文件中包含以下内容。 但是,当我检查StringRedisTemplate时,在JedisConnectionFactory的hostName属性下,我看到的是
我有一个要求,在调用vertx API时,根据KeyClope对用户进行身份验证。因为我是新来的钥匙斗篷。有谁能建议我如何做到这一点吗。 提前谢谢
我的想法是开始集成文件和MSSQL,这是我的知识领域。不幸的是,由于这是一个相对较新的领域,我没有找到比Facebook页面或Presto.io页面更多的东西,然而对于想要从头开始了解大数据世界的人来说,这还不够好。 我将非常感谢您在这方面的帮助和/或指导。
我想使用OAuth提供程序来验证对我的kuzzle实例的请求。 做这件事的标准或首选方式是什么?
我正在通过在线示例学习使用FreeMarker的SpringMVC。我遇到了这个错误,但是我不知道我的getFreemarkerConfig()方法有什么问题,一整天我都在试图修复它,但是没有成功。