问题标签 [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 回答
6681 浏览

hibernate - 带有注释的休眠 5

我们可以使用JPA annoation 来保留领域模型(类、关系和继承)而不是hbm 配置,然后使用Sessionfactory 进行CRUD 操作。我的意思是可以在不使用persistence.xml 和Entitymanager 的情况下使用注释吗?我被问到这个问题是因为在休眠文档中,总是将 JPA 注释关联到 persistence.xml

0 投票
2 回答
6219 浏览

java - JPA with Hibernate 5:以编程方式创建 EntityManagerFactory

这个问题专门关于以编程方式创建EntityManagerFactory由 Hibernate 5 支持的 JPA,这意味着没有配置 xml 文件,也没有使用 Spring。此外,这个问题专门关于EntityManagerFactory 使用 Hibernate Interceptor创建一个。

我知道如何以我想要的方式创建 Hibernate SessionFactory,但我不想要 Hibernate SessionFactory,我想要一个EntityManagerFactory由 Hibernate 支持的 JPA SessionFactory。给定 aEntityManagerFactory有一种获取底层的方法SessionFactory,但是如果你拥有的是 aSessionFactory并且你想要的只是一个EntityManagerFactory围绕它的包装器,那么你似乎不走运。

使用 Hibernate 4.2.2 版本Ejb3Configuration已经被弃用,但似乎没有其他方法可以以编程方式创建EntityManagerFactory.,所以我正在做这样的事情:

随着 Hibernate 4.3.0Ejb3Configuration被删除,所以我不得不利用这个 hack:

(这是一个 hack,因为我正在实例化EntityManagerFactoryImplpackage org.hibernate.jpa.internal。)

现在,随着 Hibernate 5 他们改变了 的构造函数EntityManagerFactoryImpl,所以上面的代码不起作用。我可能会浪费几个小时试图弄清楚如何进行设置,以便我可以调用该构造函数,但我确信在几个 Hibernate 版本之后,它也不会再工作了。

所以,这是我的问题:

有谁知道实现这个功能的好方法

以便以EntityManagerFactory 编程方式创建 Hibernate ,这意味着没有配置 xml 文件并且不使用 Spring使用 Hibernate 拦截器

有这个老问题:Hibernate create JPA EntityManagerFactory with out persistence.xml但它有一个旧版本的 Hibernate 的答案,这个问题已经预料到了。那是不行的,因为我希望它与 Hibernate 5 一起工作,理想情况下,以不使用任何已弃用或内部的方式,以便有一些机会在很长一段时间内工作。

0 投票
1 回答
4756 浏览

java - 从 Hibernate 4.3.6 迁移到 Hibernate 5

我有一个旧项目,我在其中使用 Java API 中的日期,我想将其更改为新的 Java 8 日期 API 到LocalDateTime. 我读到 5 之前的 Hibernate 版本不支持新的 Java 8 Date API,我决定从 Hibernate 4.3.6 迁移到 5。在旧项目版本中一切正常,但是当我更改 Hibernate 版本时,我得到错误我尝试启动我的应用程序:

我只更改我的 pom 文件:

也许我的根上下文文件会很有用:

用户帐户类

转学班:

0 投票
2 回答
377 浏览

java - JPA 2:通过不在带有额外字段的多对多中工作来订购

我有一个 ManyToMany ,我已经像这个问题一样映射了它。

请注意,为简单起见,我删除了样板

我正在尝试获取人员的所有地址,并按排序属性排序。但是由于某种原因,我得到了异常,或者我没有对其进行排序。

我尝试了以下方法:

我也试过:

谁能发现它为什么不起作用?

0 投票
4 回答
10576 浏览

java - org.hibernate.cfg.Configuration.getClassMapping(className) 方法从 4.3.x 到 5.x 的休眠迁移

在 Hibernate 4.3.x 中,有一个getClassMapping(className)class方法org.hibernate.cfg.Configuration。但是在 Hibernate 5.x 中,这个getClassMapping(className)方法被从Configuration类中删除了。

Hibernate-5 中的代码替换是什么?

请帮助解决此迁移问题。

0 投票
1 回答
1517 浏览

java - 方法 org.hibernate.cache.spi.GeneralDataRegion.get(Object key) 从 4.3.x 到 5.x 的休眠迁移

在 Hibernate 4.3.x 中,有一个方法

org.hibernate.cache.spi.GeneralDataRegion.get(Object key)

但在 Hibernate 5.x 中,此方法签名更改为

org.hibernate.cache.spi.GeneralDataRegion.get(SessionImplementor session, Object key)

Hibernate-5 中类似的新 put 方法签名如下:

这里什么是 SessionImplementor 类以及如何获取它的对象?即,Hibernate-5 中的代码替换是什么?

请帮助解决此迁移问题。提前致谢。

0 投票
0 回答
1609 浏览

java - 带有 Hibernate 的 Jersey REST Web 服务在 JBoss EAP 6.4 上导致 NoSuchMethodError

我正在尝试使用 Hibernate 5 创建一个非常简单的 Jersey REST Web 服务项目。问题是当我将 WAR 文件部署到 JBoss EAP 6.4 时,我收到以下异常:“无法映射 MappableContainerException 中包含的异常响应,重新抛出到 HTTP 容器: java.lang.NoSuchMethodError: org.hibernate.internal.CoreMessageLogger.debugf(Ljava/lang/String;I)V" 在 Eclipse 上将项目作为 Java 应用程序运行时,Hibernate完美运行。

该项目包含 Item 域类、ItemDAO 数据访问对象、包含 REST 方法和 hibernate.cfg.xml 的 ItemManager。我已经用谷歌搜索并尝试了几乎所有方法来解决异常,但似乎没有任何帮助。如果您有任何想法,请帮助我。

例外:

领域类:

DAO 类:

经理

休眠.cfg.xml

POM.xml

0 投票
0 回答
3198 浏览

java - 休眠 5 + HikariCP + MySQL

我已经使用 Hibernate 5 和 MySQL 数据库开始了一个项目。在这个项目之前,我一直在使用 Hibernate 4、PostgreSQL 和 C3P0 连接池。

现在,我想在Hibernate 5中使用 HikariCP,因为它看起来很有希望。

这是我用于休眠的 IVY 配置部分:

我的 DAO 看起来像这样:

看起来 Hikari 配置得很好,但是即使应用程序停止,MySQL Workbench 的管理客户端连接窗口也会一次又一次地出现新连接......

我的问题是:

1) Hibernate 和 Hikari 配置好了吗?
2)管理这些连接的任何线索?

谢谢你的帮助

0 投票
1 回答
673 浏览

java - 方法 LocalSessionFactoryBean.setCacheRegionFactory(RegionFactory cacheRegionFactory) 的 Spring 迁移 4.1.X 到 4.2.x 二级缓存问题

我正在将项目从 Spring-4.1.6.RELEASE 升级到 Spring-4.2.1.RELEASE,Hibernate(核心和 Ehcache)从 4.3.9.Final 升级到 5.0.1.Final。

在 Spring-4.1.6.RELEASE 中有一个方法

但是在 Spring 4.2.1.RELEASE 中,类中没有这样的方法

因此,当我在休眠会话工厂 bean 中设置属性以启用二级缓存时

抛出以下错误:

如何在 Spring-4.2.1.RELEASE 和 Hibernate-5.0.1.FINAL 中配置二级缓存?Hibernate-5 中启用二级缓存的代码替换是什么?

请帮助解决此迁移问题。先谢谢了。

0 投票
3 回答
13981 浏览

java - 迁移到休眠 5

我正在将应用程序从 Hibernate 4.3 迁移到 Hibernate 5.0.1-Final 我ImplicitNamingStrategyComponentPathImpl用作hibernate.implicit_naming_strategyPostgres 9.4.4 和我的公司hibernate.hbm2ddl.auto = update用于部署(我知道这是一种不好的做法,但无能为力)

会话工厂初始化时,会引发以下错误。显然,生成的别名对于 Postgres 来说太长了。我们如何处理这种情况?我已经尝试分配@Table(name=..)注释来解决这个问题,但是随着从那时起的每一个关系都被搞砸了,它变得越来越糟。