JPA实体未更新

减半

我在Glassfish 4上使用Servlet-> EJB-> JPA。应用程序成功部署。

当我运行servlet时,它将更新db中id = 1的实体,但对id = 2的实体不做任何事情。没有异常被抛出。

@WebServlet("/AnimalServlet")
public class AnimalServlet extends HttpServlet {

@EJB AnimalDAOLocal lOBAnimalDAO;

protected void doGet(....) {
    Animal lOBAnimal = lOBAnimalDAO.getAnimal(1); // gets OK
    lOBAnimal.setName("Animal1");  // sets OK
    lOBAnimalDAO.mergeAnimal(lOBAnimal); // updates in DB OK
    lOBAnimal = lOBAnimalDAO.getAnimal(2); // gets OK
    lOBAnimal.setName("Animal2"); // sets OK
    lOBAnimalDAO.mergeAnimal(lOBAnimal); // doesn't update in DB.
}

会话Bean方法是:

@Stateless(mappedName = "AnimalDAOMapped")
public class AnimalDAO implements AnimalDAOLocal {
    @PersistenceContext EntityManager em;

    public Animal getAnimal(int id) {
          return em.find(Animal.class, id);
    }

    public void mergeAnimal(Animal pOBAnimal) {
          em.merge(pOBAnimal);
    }
}

持久性单元设置:

<persistence-unit name="JPATest" transaction-type="JTA">
    <jta-data-source>jdbc/animaltest</jta-data-source>
    <class>net.test.model.Animal</class>
</persistence-unit>
减半

我借助Chris的建议打开了EclipseLink日志记录(以前我不知道)的建议,解决了这个问题。

发生此问题是由于实体中的@JoinColumn定义错误。并且第一个实体(db = 1)是偶然提交的,因为存在该id的伪数据,而其他id则不存在。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过JPA更新实体

来自分类Dev

通过JPA更新实体

来自分类Dev

实体未更新

来自分类Dev

JPA EclipseLink实体未刷新

来自分类Dev

实体表未使用JPA 2.1创建

来自分类Dev

Hibernate 批量更新 - 实体未更新

来自分类Dev

合并与查找以更新实体JPA

来自分类Dev

更新jpa中实体的所有字段

来自分类Dev

Spring/JPA 中的实体更新选项

来自分类Dev

实体框架中未更新数据

来自分类Dev

核心数据实体未更新

来自分类Dev

Doctrine - 代理实体未正确更新

来自分类Dev

JPA:未检索到具有null属性的实体

来自分类Dev

在JPA的深层实体继承中未创建DiscriminatorColumn

来自分类Dev

JPA即使未要求获取太多的实体类对象

来自分类Dev

在JPA的深层实体继承中未创建DiscriminatorColumn

来自分类Dev

在Spring Boot中未调用JPA实体上的@PostConstruct

来自分类Dev

Mule JPA持久未插入或更新

来自分类Dev

JPA manyToMany关系中间表未更新

来自分类Dev

更新嵌套实体 (ManyToOne),当使用 JPA CascadeType 更新根实体时

来自分类Dev

jpa实体不更新数据库中的关系操作

来自分类Dev

使用Spring Data JPA更新实体的正确方法是什么?

来自分类Dev

使用JPA更新时如何排除实体字段

来自分类Dev

没有持久/合并的JPA实体更新数据库

来自分类Dev

Spring JPA Crud存储库save()不更新实体

来自分类Dev

如何ALTER TABLE通过自动DDL =更新改变实体JPA

来自分类Dev

JPA-获取跨EntityManager的更新/同步的实体(刷新)

来自分类Dev

如何使用 Spring Data JPA 更新实体中的集合字段?

来自分类Dev

为什么在JPA中未映射随实体引发的QuerySyntaxException [未从实体]映射?