Tag: entitymanager

JPA EntityManager和JavaFx

我尝试在NetBeans中的JavaFx应用程序中使用EntityManager(我的解决方案连接到postgres),我按如下方式进行: 1)我创建了一个持久单元。 2)然后从数据库添加实体类。 但是我无法让它工作,我试图在另一个线程中寻求帮助实体管理器不能在JavaFX中工作,但也无法使它工作,是否有任何干净清晰的教程或课程,我可以清楚地找到在JavaFx Fxml应用程序中使用EntityManager

是否有无状态版本的JPA EntityManager?

Hibernate有一个无状态版本的会话 :JPA EntityManager是否存在类似的东西? 即不使用第一级缓存的EntityManager?

TestNG:确定接下来的测试方法

我的目标是在每个测试方法之后清除()我的javax.persistence.EntityManager。 以下是测试类的示例: public class Example { @Test(dataProvider = “sampleDataProvider”) public void testA(String parameter) { System.out.println(parameter); } @Test(dataProvider = “sampleDataProvider”) public void testB(String parameter) { System.out.println(parameter); } } 通过向DB查询测试数据,然后使用以下格式编译,在dataProvider“sampleDataProvider”中使用entityManager: new Object[2][1] 。 请记住,在实际运行测试方法(使用@DataProvider注释)之前完成数据的查询和编译,并且我们实际上是在查询实体而不仅仅是字符串。 上面的测试类将如下运行: testA(“some queried entity 1”) testA(“some queried entity 2”) testB(“some queried entity 1”) testB(“some queried entity 2″) 我最初的解决方案是使用@AfterTest注释来清除entityManager。 然而,它会在testA和testB的第二次运行(或第二次测试实例)之前从entityManager中分离”some queried entity 2” ,这会导致对”some […]

为什么在首先合并实体时,我会将已删除的实例传递给合并

我相信我想删除的实体是一个管理实体。 但是,无论如何,为什么合并它然后删除它给我以下错误: 删除的实例传递给合并 有人在stackoverflow上说,如果它是一个托管实体,那么应该忽略该合并。 那为什么不被忽视呢? 我希望删除它的方式是这样的: TrialUser mergedEntity = em.merge(tu); em.remove(mergedEntity); 但这个错误,但如果我摆脱第一行它似乎工作正常。 但我想要另一种方式,因为这与代码的其余部分是一致的。 编辑: @PersistenceContext(unitName = “UnitName”) protected EntityManager entityManager; @Table(name=”TRIAL_USER”) @Id private BigDecimal id; @ManyToOne(cascade= {CascadeType.ALL }, fetch=FetchType.EAGER) @JoinColumn(name=”TRIAL_USER_CLASS_ID3″) private TrialUserElement trialUserElement3; @ManyToOne(cascade= {CascadeType.ALL }, fetch=FetchType.EAGER) @JoinColumn(name=”TRIAL_USER_CLASS_ID1″) private TrialUserElement trialUserElement1; @ManyToOne(cascade= {CascadeType.ALL }, fetch=FetchType.EAGER) @JoinColumn(name=”TRIAL_USER_CLASS_ID2″) private TrialUserElement trialUserElement2;

JPA 1.0错误:该名称不是公认的实体或标识符。 已知实体名称:

我尝试执行简单的JPA 1.0代码时遇到exception。 可能是什么原因? 5453 DevPQRWDPBSSPersist WARN [P=351601:O=0:CT] openjpa.Enhance – This configuration disallows runtime optimization, but the following listed types were not enhanced at build time or at class load time with a javaagent: “[class com.XYZ.PQR.bss.client.db.data.markerentry, class com.XYZ.PQR.bss.client.db.data.Serviceproduct, class com.XYZ.PQR.bss.client.db.data.Agreementterms, class com.XYZ.PQR.bss.client.db.data.Offeringattribute, class com.XYZ.PQR.bss.client.db.data.marker, class com.XYZ.PQR.bss.client.db.data.OfferingpriceadjustmentrelPK, class com.XYZ.PQR.bss.client.db.data.Serviceoffering, class com.XYZ.PQR.bss.client.db.data.Offeringassociation, class com.XYZ.PQR.bss.client.db.data.OfferingpriceserviceofferingrelPK, class com.XYZ.PQR.bss.client.db.data.Offer, class com.XYZ.PQR.bss.client.db.data.Offeringpriceadjustmentrel, […]

您可以从EntityListeners访问EntityManagers吗?

我知道JSR-000220 Enterprise JavaBeans 3.0最终版本(持久性)规范指出: “通常,可移植应用程序不应调用EntityManager或Query操作,访问其他实体实例或修改生命周期回调方法中的关系。” 这看起来非常严格。 我们有一种情况,我们想从EntityListener中访问EntityManager。 当在Jboss / Glassfish的监听器或任何其他应用程序服务器上使用EntityManager时,有没有人遇到任何不利影响/ pitfulls?

当使用EntityManager的createQuery()和find()方法时?

我想知道这些方法之间的区别。 使用EntityManager的createQuery()和find()方法时? 他们每个人的优势是什么? 谢谢你的回答。

为什么EntityManager为空?

在我的Web应用程序中,我在Apache Tomcat(TomEE)/7.0.37服务器上使用OpenJPA。 我使用Netbeans自动生成类(“来自数据库的实体类……”和“来自实体类的会话Bean ……”)。 在SessionBean(例如UserFacade)我想获得EntityManager: @Stateless public class UserFacade extends AbstractFacade { @PersistenceContext(unitName = “CollDocPU”) private EntityManager em; @Override protected EntityManager getEntityManager() { return em; } } 但是当我通过上面的方式得到它时,我得到了null。 当我通过: @Override protected EntityManager getEntityManager() { EntityManagerFactory emf = Persistence.createEntityManagerFactory(“CollDocPU”); EntityManager ecm = emf.createEntityManager(); return ecm; } ecm不是null,没关系 我的persistence.xml: org.apache.openjpa.persistence.PersistenceProviderImpl model.entity.StudentAddSolution model.entity.Lecturer model.entity.Solution model.entity.Student model.entity.Course model.entity.File model.entity.CourseHasLecturer […]

应用程序与容器管理的EntityManager

我目前在理解JPA的概念时遇到了问题。 我目前正在使用/开发最近的EclipseLink,Glassfish,Derby数据库来演示一个项目。 在我开发更大的图片之前,我需要绝对确定这个PersistingUnit如何在不同的范围内工作。 我有一堆servlet 3.0,目前在request.session对象中保存用户的相关实体类(同一个war文件中的所有内容)。 我目前正在使用EntityManagerFactory和UserTransaction注入的应用程序管理的EntityManager。 它在我自己测试时运行顺畅。 当2个人同时访问相同的实体时,会发生不同版本的实体。 我希望使用托管bean跨越相同的WAR,如果可能的话,使用相同的持久性单元。 我已经阅读了http://docs.oracle.com/javaee/6/tutorial/doc/bnbqw.html以及那些对我来说根本没有意义的范围的解释。 长话短说 ,应用程序和容器管理的EntityManagers的用途和区别是什么?

如何在相对较大的应用程序中使用Entity Manager管理数据库事务?

我使用MYSQL数据库和Swing应用程序框架以及javax.persistence开发了一个相当大的CRUD应用程序。 我的问题是,鉴于javax.persistence.Entitymanager,我应该如何最好地管理我的交易? 目前,我有一个由Application类持有的实体管理器实例。 它被传递给所有请求页面,而这些页面又使用它来持久化并合并实体。 我在应用程序启动时启动一个事务,并在每次进行更改时提交(并重新启动)。 它是否正确? 或者我应该为每个组件/页面保持单独的实体管理器? 我什么时候应该承诺? 所有这些问题现在都出现了,因为我最近开始得到类型的exception:java.sql.SQLException:超出锁定等待超时; 尝试重新启动事务错误代码:1205这让我相信我在管理数据库事务时做错了什么…. 在此先感谢您的帮助,您可以给我!