我有一个事务性方法,在它的内部,一个实体被实例化,并使用persist方法插入到Hibernate上下文中。然后更改实体的某些属性(因此它将反映在数据库中)。如果对实体调用detach方法,然后更改实体的某些属性,会发生什么情况。当方法完成(和事务提交)时,Hibernate是否会插入实体并将属性更新到分离调用之前的点?
例如:
@Transactional
public void transactionalMethod(){
MyEntity entity = new MyEntity();
getEntityManager().persist(entity);
entity.setAttribute1(data1);
entity.setAttribute2(data2);
getEntityManager().detach(entity);
entity.setAttribute3(data3);
}
好吧,我把我自己的问题转述给有类似问题的人。
当使用Spring事务方法时,所有的插入都将在事务结束时提交。如果在实体上使用分离,则所有更新(分离之前或之后)都将被丢弃,因此事务完成时不会提交更新。
如果您想将一个实体重新附加到持久性上下文,您可以对该实体执行一个合并或更新方法,然后在事务完成时提交对该实体的所有更改。
我正试图实现与hibernate的许多单向关系。问题是,当我试图向数据库中添加一些值时,我遇到了以下错误: 运行时发生异常。null:InvocationTargetException:未能执行ApplicationRunner:传递给persist:dnd35cg的分离实体。模型DND类;嵌套的异常是org。冬眠PersistentObjectException:传递给persist:dnd35
问题内容: 我已经成功用hibernate写了我的第一个主要的孩子例子。几天后,我再次使用它并升级了一些库。不知道我做了什么,但是我再也无法使它运行了。有人可以帮助我找出返回以下错误消息的代码中的错误吗: hibernate映射: 编辑: InvoiceManager.java 发票.java InvoiceItem.java 编辑: 从客户端发送的JSON对象: 编辑: 一些详细信息: 我试图通
这个网站上没有一个类似的问题能够解决我的问题。 错误:org.hibernate.persistentobjectexception:传递给persist:healthcheckapi.model.checks的分离实体 示例JSON健康对象: 请注意,这两个对象的ID都是自动生成的,我认为这是问题的一部分。
我有一个物品清单。它们是JPA“位置”实体。 我有一个无状态EJB,它在列表中循环并持久化每一个。 代码运行良好。我没有任何问题。然而,问题是:我希望这是一个全有或全无的交易。当前,每次通过for循环,persist()方法都会在数据库中插入一个新行。假设我有100个location对象,而第54个对象有问题,并且抛出了一个异常。将有53条记录插入数据库。我想要的是:在任何一个成功之前,他们必须全
我有一个问题,分离实体传递到持久性。我以为我知道什么是超然的实体,但显然这对我来说太多了...因此,无论如何,我试图创建一个Person对象,该对象具有一个Interviewer对象,而Interviewer对象具有一个Office对象,每次尝试持久化Person时,我都会得到异常(在本例中,Office是分离的实体)。相关代码如下所示: 是帮助器类的静态方法: 您可能会注意到创建面试官的help
我有一个类通知,它包含一个对象MessengerData: