问题标签 [hibernate-entitymanager]
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 - 如何通过缓慢的数据库写入(JTA 和 EntityManager)确保正确的结果
我遇到了一个问题,即写入数据库的时间比平时要长。这些延迟写入会导致写入后执行的逻辑块正确。我重新启动了服务器,一切正常。我担心的是,如果服务器开始滞后,我将再次遇到这个延迟写入问题。
我正在使用带有 EntityManager 的 Java Transaction API (JTA)。
当我想要它时,如何强制 EntityManager 进行显式提交?
在执行下一行代码之前,我如何才能等到写入完成?
EntityManager 是否自动提交?,如果是这样,它什么时候做?
我试过 em.getTransaction().commit(); 这会产生错误: JTA can not use getTransaction
我做了一些研究,发现我不应该使用 em.getTransaction().begin(); 也不是 em.getTransaction().commit();,这些指令将与 RESOURCE_LOCAL 事务类型一起使用。在我的情况下,事务由容器管理。
代码片段:
如果 em.persist(ur); 不会立即将 Userrole 提交到数据库,然后执行的代码从数据库读取并检查该 Userroel 是否存在将不正确,因为该角色尚未写入。
持久性.xml
java - Spring 3.2 + Hibernate 4.3.4 + jUnit:EntityManagerFactory 已关闭
我正在为我的 Spring 3.2.8 + Hibernate 4.3.4 应用程序编写一些 junit 测试。我的测试类注释为:
但是,尝试使用实体管理器的方面会引发以下错误:
如果查看日志,我会在第二次测试开始时看到以下错误消息:
我意识到这只是一个警告,但我想知道这是否是问题的一部分。我不明白为什么在@DirtiesContext
应该确保在开始第二次测试之前清除上下文时抱怨工厂已经注册。
我确实看到在第一次测试结束时正在清理上下文:
所以我不确定为什么它抱怨 EntityManagerFactory 已经注册。此外,我不确定为什么在尝试访问 EMF 时它会关闭。
我是否需要做一些特别的事情来确保它在每次测试中仍然可以访问?我确实在 SO 上找到了与该问题相关的帖子,但并不能帮助我确定发生这种情况的原因。
exception - javax.persistence.PersistenceException:无法建立实体管理器工厂
当我尝试创建一个新的 EntityManager 来保存我的数据时,我收到以下错误:
javax.persistence.PersistenceException:无法建立实体管理器工厂
我使用 Hibernate 的 JPA-Persistence Provider ...
不幸的是,我在 stackoverflow / 谷歌搜索中找不到任何有用的帖子......
有谁知道错误的原因可能在哪里?
谢谢您的帮助!
代码片段:
创建实体管理器
堆栈跟踪
持久性.xml
hibernate - 删除同一类中的 @Entity 和 @MappedSuperclass
现有类之一(A 类)同时具有@Entity
和@MappedSuperclass
注释,而子类(B 类扩展 A)具有@Entity
.
虽然这不对,但它在 hibernate-entitymanager 3.3 中运行良好。两个实体都有自己的表,B 类的表具有与 A 类相同的列,外加一个对应于其自身属性的附加列。
我正在尝试修复这个存在多年的错误,以便我可以迁移到 3.6,因为它不允许两个注释。(它抛出org.hibernate.AnnotationException: An entity cannot be annotated with both @Entity and @MappedSuperclass:
)
我试图替换@MappedSuperclass
为,@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
但现在在加载另一个类时出现运行时错误,该类的一个属性是一组 B。
@Entity
修复同时使用and@MappedSuperclass
使用@Entity
and的 A 类的平滑方法是@Inheritance
什么?我需要任何 SQL 来修复现有数据吗?
java - #Resolved - 查询中不存在位置参数 // 存储的函数调用
我有这个方法可以从 ORACLE 调用存储函数,在 java (spring) 中 - 使用实体管理器 + createNativeQuery ..
每次我尝试测试它时,它都会显示:位置参数不存在:查询中的 31:{? = call (...) 但是我在 31 位有什么东西吗..它存在..
另外,我在之前的异常中以 1 开始参数,它说它是基于 1 的,我尝试使用字符串和空值而不是 get,结果仍然相同。关于查询,我还计算了 ? 很多次,所以我确定它有 32(用于参数)+ 1(返回 - 第一个?)...
任何人都可以帮忙吗?
jsf-2 - 如果我把它放在 Runnable 中,EnityManager 不会删除记录
我在这个网站上搜索了我的问题的一些答案;但每一次都失败了。如果我不把它放在 ExecutorService 中,我可以很好地删除,但如果我这样做,它不会删除。没有错误发生,只是记录仍在数据库中。请指教。
}
spring - Spring 4,Websphere 8.5.5 上的 Hibernate JPA JarInputStreamBasedArchiveDescriptor 错误
我有一个在 Websphere 8.5.5 Liberty Profile 上完美运行的 Spring MVC/Spring-Data-JPA(带有 Hibernate)应用程序。但是,当我部署到 Websphere 8.5.5 的完整版时。我在下面粘贴了错误。
我的其他豆子自然依赖EntityManagerFactory
,所以这要了我的命。一直在谷歌搜索一整天无济于事。
- 环境:Websphere 8.5.5
- 春季版本:4.0.4.RELEASE
- 休眠 EntityManager 版本:4.3.5
- IDE:IBM RAD(版本:8.5.5)(Eclipse 3.6.3)
堆栈跟踪:
这是我的 AppConfig 类:
我正在对 Spring 和 JPA 采用全 JavaConfig 方法(即我没有 persistence.xml 文件。)。
我发现了以下问题,但它并没有解决我的情况:
JPA 实体作为可共享 jar 在 Tomcat 7.0.27 下的 WAR 文件中不起作用
有任何想法吗?
java - 从 CrudRepository 中的 FindAll() 打印记录
我在我的 Repository 类中扩展 CrudRepository。我想使用 findAll 方法打印表中的记录。至此,我写了一个测试类,可以看到结果查询是正确的。如何打印表格中的单个记录?
这是我的代码片段:存储库类
服务等级
测试用例:
如何将表中的单个记录打印到控制台?
jpa - EntityManager“删除”不删除
我有很多实体,对于 CUD 操作,我分别使用 persist()、merge() 和 remove() 方法。但是下面的删除方法不起作用。所以我不得不使用查询来删除给定的对象。我用谷歌搜索了它,但找不到任何令人满意的答案。
为了简单起见,我将 PickList 替换为 Tuple。但没想到这会成为混乱的根源。所以这里是:原始代码......
java - Spring框架无法使用EntityManager.merge()保存在数据库中
我正在尝试使用 Spring 建立一个网站。我已经设法从我设置的数据库中读取数据,但现在在尝试更新其中的行时遇到了问题。我正在merge()
使用EntityManager
. 我没有收到任何错误或异常,它只是不会更新数据库上的数据。
我会尽量给出所有相关的代码。
我要更改的实体类:我已经设法用数据库中的数据填充它,所以我认为应该没问题。
贝努策.java
DAO:我使用其中的update(Benutzer benutzer)
方法尝试更新数据库中的适当列。
BenutzerDaoImpl.java
以及在代码底部调用该update(Benutzer benutzer)
函数的 Controller 类:saveBenutzerdaten()
BenutzerdatenController.java
我一直在寻找解决方案很长一段时间,我也发现很多人有类似的问题,但他们的解决方案都不适合我。我真的希望有人能找到问题所在。开始变得非常沮丧。只需询问您是否需要查看更多代码或相关数据。
另外,如果您发现我应该更改任何内容,请告诉我。我是 Spring 的新手,不确定我做的一切是否正确。尤其是我处理登录用户的方式(可能不是将他保存在 DAO 对象中的好解决方案?)。
我找到了解决方案。在我添加一个服务类并添加到我的 mvc-dispatcher-servlet.xml 之后它工作正常。(sopro.mvc.swm.service 是我的服务类所在的包)。