问题标签 [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.

0 投票
1 回答
646 浏览

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实例。但是SessionImplanother 具有 type 的属性SessionFactory

我无法理解通函。你能不能解释一下。

0 投票
1 回答
4283 浏览

java - Maven,无法在我的 pom 中从 Hibernate 4 转到 Hibernate 5

在我的 Spring Boot 1.2.5 项目中,我不知道如何从 Hibernate 4 转到 Hibernate 5。目前,我的 pom 中有这个:

这很好用。如果我用这个替换它:

没那么多。它抛出了一堆这样的异常:

我尝试将 JBoss 存储库添加到我的 pom 中,但这没有任何区别:

有什么诀窍?

更新:

根据要求的依赖关系树:

0 投票
2 回答
2831 浏览

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 经历了一些痛苦,现在我想相应地向上迁移。我知道会有一些痛点。有没有办法解决这个问题,以及我应该注意的任何其他未来问题?

谢谢!

0 投票
0 回答
861 浏览

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。

非常感谢。

0 投票
9 回答
12514 浏览

java - Hibernate 给出了一个奇怪的 ClassCast 异常(使用 Transformers)

这段代码:

调用此方法:

给了我一个 ClassCastException -> 跟踪的一部分:

这很奇怪,因为事实上,如果你查看 Hibernate 的源代码,它会尝试这样做:

这没有任何意义...

target 是 Class 类型,此代码尝试将其转换为 Map,

它为什么要这么做???

任何指针都非常受欢迎......

我正在使用 Hibernate 5(并且正在从 3 升级)...

编辑:我也使用Spring(4.2.1.RELEASE;也在升级)在部署时调用这些方法,任何调试指针也是最受欢迎的......

编辑 2:(整个 FactCodeDto 类,根据要求)

0 投票
3 回答
6418 浏览

mysql - 在 Hibernate 5 中未使用 hbm2ddl.auto=update 创建表

数据库表不是<property name="hbm2ddl.auto">update</property>由 中的设置自动创建的hibernate-cfg.xml,具有以下组合:

Java 8 + Tomcat 8 + MySQL + 休眠 5

  1. 爪哇版:

    /li>
  2. MySQL版本:

    /li>
  3. 雄猫版本:

    /li>
  4. pom.xml 片段:

    /li>
  5. 实体类:

    /li>
  6. 休眠SessionFactory初始化:

    /li>
  7. 休眠.cfg.xml:

    /li>

但是,该表已创建到 MySQL 数据库中,具有以下组合:

Java 8 + Tomcat 8 + MySQL + 休眠 4

一切都与上面相同,除了在 pom.xml 中,我使用的是 hibernate 4 而不是 5:

我在 Hibernate 5 中缺少什么?

0 投票
1 回答
2778 浏览

hibernate - 在 Hibernate 5.0.3 中添加积分器

我正在尝试在 Hibernate 5.0.3 中注册一个集成器以触发特定的 EventListener。我正在修改 Hibernate Getting Started Guide 中提供的示例之一。运行良好的原始 jUnit 测试类如下:

现在我只需像这样修改 setUp() 方法:

当我执行测试用例时,出现以下错误:

这是我的 Integrator 类(但我认为这不是问题,因为当我不将 Integrator 应用于 BootstrapServiceRegistryBuilder 时,setUp() 方法也会失败):

最后是我的 hibernate.cfg.xml:

非常感谢您的帮助。

0 投票
0 回答
589 浏览

java - Hibernate 5 多租户和事务

我正在使用 Hibernate 5 的多租户功能在当前是单租户并使用 Hibernate 4 的应用程序中实现多租户。我依靠 Spring 来确保管理事务。

但是在 Hibernate 5 中添加 @Transactional 属性会引发错误 SessionFactory configured for multi-tenancy, but no tenant identifier specified

基于对类似问题的回答,我已经实现了接口来说明正在使用的方法CurrentTenantIdentifierResolver这一事实。我也已经实现了接口。getCurrentSession()SessionFactoryMultiTenantConnectionProvider

但是我现在得到了 ClassNotFound 异常org.hibernate.engine.transaction.spi.TransactionContext。我知道这是因为此类在 Hibernate 5 包中不可用。

使用 Spring 4.1.6 和 Hibernate 5 管理事务的正确方法是什么?

0 投票
0 回答
72 浏览

java - Hibernate 5 动态数据库数量

我有一个关于 Hibernate 的多数据库支持的问题。

我有 1000 多个客户分布在多个数据库服务器上。每台服务器都有大约 500 Dbs。所以每个客户都有自己的数据库(所有的架构都完全相同,当然它们只是内容不同)。

有没有办法让 Hibernate 即时切换数据库?所有研究都产生了解决方案,您已经知道所有使用的数据库(例如 2 或 3 个不同的数据库),但没有一个可以帮助我们解决动态问题。

0 投票
1 回答
1390 浏览

hibernate - 迁移到 Hibernate 5.x

我正在将我的应用程序从 Hibernate 3 迁移到 Hibernate 5。我们正在使用DatabaseMetadata类来获取TableMetadata. 因此使用TableMetadata对象来获取数据库表列信息,如列大小、类型等。似乎在 Hibernate 5DatabaseMetadata类中已弃用(已删除!)。DatabaseMetadataHibernate 5中的课程有替代品吗?或者如何进入TableMetadataHibernate 5 env?