问题标签 [hibernate-5.x]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 了解休眠会话初始化
我正在使用Spring 4.2.1
并且Hiberante 5
现在试图了解spring如何初始化在Spring Beans定义中声明的Session,如下所示:
我发现所谓的org.springframework.orm.hibernate5.LocalSessionFactoryBean实现了FactoryBean<SessionFactory>
。考虑到这一点,很明显为什么我们定义SessionFactory
要注入类org.springframework.orm.hibernate5.LocalSessionFactoryBean
但最终以SessionFactory
. 现在,我感到困惑的是getCurrentSession方法:
它将实际会话创建委托给SpringSessionContext,在我的情况下,它被这段代码检索:
但session
它实际上是org.hibernate.internal.SessionImpl
直接基类org.hibernate.internal.AbstractSessionImpl
的一个实例,它本身具有受保护的瞬态 SessionFactoryImpl factory属性。
因此,在我的情况下,它SessionFactory
拥有的CurrentSessionContext
属性SessionHolder
又拥有实际的Session
实例。但是SessionImpl
another 具有 type 的属性SessionFactory
。
我无法理解通函。你能不能解释一下。
java - Maven,无法在我的 pom 中从 Hibernate 4 转到 Hibernate 5
在我的 Spring Boot 1.2.5 项目中,我不知道如何从 Hibernate 4 转到 Hibernate 5。目前,我的 pom 中有这个:
这很好用。如果我用这个替换它:
没那么多。它抛出了一堆这样的异常:
我尝试将 JBoss 存储库添加到我的 pom 中,但这没有任何区别:
有什么诀窍?
更新:
根据要求的依赖关系树:
spring-mvc - Spring 4 和 Hibernate 5 给出 NoSuchMethodError org.hibernate.internal.CoreMessageLogger
所以,我有一个成功的 Spring 4.2.2.RELEASE MVC web 应用程序与 Hibernate 4.3.8.Final 一起使用。我更改为 Hibernate 5.0.2.Final,并对我的 spring 应用程序上下文文件进行了以下更改。
从:
至:
并且来自:
至:
我在网上其他任何地方都找不到这个问题。我确定我检查了我的类路径,并且在此应用程序的任何级别的任何地方都没有其他 Hibernate4 引用。
当我尝试执行我的 DaoTestCode 时,由于以下错误消息,Spring 应用程序上下文将不会加载:
我试图在网上找到其他地方,它显示了带有 Spring 4.2.2 的 Hibernate 5 的正确配置,但我找不到任何东西。我知道我从 Hibernate 3 到 Hibernate 4 经历了一些痛苦,现在我想相应地向上迁移。我知道会有一些痛点。有没有办法解决这个问题,以及我应该注意的任何其他未来问题?
谢谢!
java - 使用 Java 配置的每个请求的 Spring-JPA-MVC-Hibernate 会话
我有一个 spring-jpa-mvc-rest-hibernate Web 应用程序,我在整个应用程序上使用 Java Config 几乎 99%。
如何在纯 Java Config 上配置每个请求的会话?如果可能的话,最好不要使用休眠特定的代码。
我正在使用 Spring 4.2.2.RELEASE、Spring Data 1.11.0.RELEASE、Spring JPA 1.9.0.RELEASE、Spring WebMVC 4.2.2.RELEASE 和 Hibernate 5.0.2.Final。
非常感谢。
java - Hibernate 给出了一个奇怪的 ClassCast 异常(使用 Transformers)
这段代码:
调用此方法:
给了我一个 ClassCastException -> 跟踪的一部分:
这很奇怪,因为事实上,如果你查看 Hibernate 的源代码,它会尝试这样做:
这没有任何意义...
target 是 Class 类型,此代码尝试将其转换为 Map,
它为什么要这么做???
任何指针都非常受欢迎......
我正在使用 Hibernate 5(并且正在从 3 升级)...
编辑:我也使用Spring(4.2.1.RELEASE;也在升级)在部署时调用这些方法,任何调试指针也是最受欢迎的......
编辑 2:(整个 FactCodeDto 类,根据要求)
mysql - 在 Hibernate 5 中未使用 hbm2ddl.auto=update 创建表
数据库表不是<property name="hbm2ddl.auto">update</property>
由 中的设置自动创建的hibernate-cfg.xml
,具有以下组合:
Java 8 + Tomcat 8 + MySQL + 休眠 5
爪哇版:
/li>MySQL版本:
/li>雄猫版本:
/li>pom.xml 片段:
/li>实体类:
/li>休眠
/li>SessionFactory
初始化:休眠.cfg.xml:
/li>
但是,该表已创建到 MySQL 数据库中,具有以下组合:
Java 8 + Tomcat 8 + MySQL + 休眠 4
一切都与上面相同,除了在 pom.xml 中,我使用的是 hibernate 4 而不是 5:
我在 Hibernate 5 中缺少什么?
hibernate - 在 Hibernate 5.0.3 中添加积分器
我正在尝试在 Hibernate 5.0.3 中注册一个集成器以触发特定的 EventListener。我正在修改 Hibernate Getting Started Guide 中提供的示例之一。运行良好的原始 jUnit 测试类如下:
现在我只需像这样修改 setUp() 方法:
当我执行测试用例时,出现以下错误:
这是我的 Integrator 类(但我认为这不是问题,因为当我不将 Integrator 应用于 BootstrapServiceRegistryBuilder 时,setUp() 方法也会失败):
最后是我的 hibernate.cfg.xml:
非常感谢您的帮助。
java - Hibernate 5 多租户和事务
我正在使用 Hibernate 5 的多租户功能在当前是单租户并使用 Hibernate 4 的应用程序中实现多租户。我依靠 Spring 来确保管理事务。
但是在 Hibernate 5 中添加 @Transactional 属性会引发错误
SessionFactory configured for multi-tenancy, but no tenant identifier specified
基于对类似问题的回答,我已经实现了接口来说明正在使用的方法CurrentTenantIdentifierResolver
这一事实。我也已经实现了接口。getCurrentSession()
SessionFactory
MultiTenantConnectionProvider
但是我现在得到了 ClassNotFound 异常org.hibernate.engine.transaction.spi.TransactionContext
。我知道这是因为此类在 Hibernate 5 包中不可用。
使用 Spring 4.1.6 和 Hibernate 5 管理事务的正确方法是什么?
java - Hibernate 5 动态数据库数量
我有一个关于 Hibernate 的多数据库支持的问题。
我有 1000 多个客户分布在多个数据库服务器上。每台服务器都有大约 500 Dbs。所以每个客户都有自己的数据库(所有的架构都完全相同,当然它们只是内容不同)。
有没有办法让 Hibernate 即时切换数据库?所有研究都产生了解决方案,您已经知道所有使用的数据库(例如 2 或 3 个不同的数据库),但没有一个可以帮助我们解决动态问题。
hibernate - 迁移到 Hibernate 5.x
我正在将我的应用程序从 Hibernate 3 迁移到 Hibernate 5。我们正在使用DatabaseMetadata
类来获取TableMetadata
. 因此使用TableMetadata
对象来获取数据库表列信息,如列大小、类型等。似乎在 Hibernate 5DatabaseMetadata
类中已弃用(已删除!)。DatabaseMetadata
Hibernate 5中的课程有替代品吗?或者如何进入TableMetadata
Hibernate 5 env?