问题标签 [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.
hibernate - 带有注释的休眠 5
我们可以使用JPA annoation 来保留领域模型(类、关系和继承)而不是hbm 配置,然后使用Sessionfactory 进行CRUD 操作。我的意思是可以在不使用persistence.xml 和Entitymanager 的情况下使用注释吗?我被问到这个问题是因为在休眠文档中,总是将 JPA 注释关联到 persistence.xml
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,因为我正在实例化EntityManagerFactoryImpl
package org.hibernate.jpa.internal
。)
现在,随着 Hibernate 5 他们改变了 的构造函数EntityManagerFactoryImpl
,所以上面的代码不起作用。我可能会浪费几个小时试图弄清楚如何进行设置,以便我可以调用该构造函数,但我确信在几个 Hibernate 版本之后,它也不会再工作了。
所以,这是我的问题:
有谁知道实现这个功能的好方法
以便以EntityManagerFactory
编程方式创建 Hibernate ,这意味着没有配置 xml 文件并且不使用 Spring但使用 Hibernate 拦截器?
有这个老问题:Hibernate create JPA EntityManagerFactory with out persistence.xml但它有一个旧版本的 Hibernate 的答案,这个问题已经预料到了。那是不行的,因为我希望它与 Hibernate 5 一起工作,理想情况下,以不使用任何已弃用或内部的方式,以便有一些机会在很长一段时间内工作。
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 文件:
也许我的根上下文文件会很有用:
用户帐户类
转学班:
java - JPA 2:通过不在带有额外字段的多对多中工作来订购
我有一个 ManyToMany ,我已经像这个问题一样映射了它。
请注意,为简单起见,我删除了样板
我正在尝试获取人员的所有地址,并按排序属性排序。但是由于某种原因,我得到了异常,或者我没有对其进行排序。
我尝试了以下方法:
我也试过:
谁能发现它为什么不起作用?
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 中的代码替换是什么?
请帮助解决此迁移问题。
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 中的代码替换是什么?
请帮助解决此迁移问题。提前致谢。
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
java - 休眠 5 + HikariCP + MySQL
我已经使用 Hibernate 5 和 MySQL 数据库开始了一个项目。在这个项目之前,我一直在使用 Hibernate 4、PostgreSQL 和 C3P0 连接池。
现在,我想在Hibernate 5中使用 HikariCP,因为它看起来很有希望。
这是我用于休眠的 IVY 配置部分:
我的 DAO 看起来像这样:
看起来 Hikari 配置得很好,但是即使应用程序停止,MySQL Workbench 的管理客户端连接窗口也会一次又一次地出现新连接......
我的问题是:
1) Hibernate 和 Hikari 配置好了吗?
2)管理这些连接的任何线索?
谢谢你的帮助
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 中启用二级缓存的代码替换是什么?
请帮助解决此迁移问题。先谢谢了。
java - 迁移到休眠 5
我正在将应用程序从 Hibernate 4.3 迁移到 Hibernate 5.0.1-Final 我ImplicitNamingStrategyComponentPathImpl
用作hibernate.implicit_naming_strategy
Postgres 9.4.4 和我的公司hibernate.hbm2ddl.auto = update
用于部署(我知道这是一种不好的做法,但无能为力)
会话工厂初始化时,会引发以下错误。显然,生成的别名对于 Postgres 来说太长了。我们如何处理这种情况?我已经尝试分配@Table(name=..)
注释来解决这个问题,但是随着从那时起的每一个关系都被搞砸了,它变得越来越糟。