休眠单向一对多:从孩子那里坚持父母

EJP4

这些是我的课程:

@Entity  
public class Parent implements Serializable {  
    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue
    private long id;

    @OneToMany(orphanRemoval = true, cascade = {CascadeType.ALL}, fetch = FetchType.EAGER)
    @JoinColumn(name="parent_id", nullable = false)
    private List<Children> childrens = new ArrayList<Children>();    

    // ...
}

@Entity
public class Children implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue
    private long id;

    // NO BIDIRECTIONAL MAPPING
    // ...
}

当我尝试持久保存Children对象(c)时,Parent对象(p)未持久保存在数据库中:

Children c = new Children();
Parent p = new Parent();

p.getChildrens().add(c);

childrenDAO.save(c); // Common DAO implementation. It executes a persist on a entity manager

我怎样才能做到这一点?我需要从ChildrenDAO做到这一点。

安德烈一世

如果没有从儿童到父母的反向关系,就不可能自动发生这种情况。这是因为no JPA提供程序在其缓存中没有所有对象图,这意味着JPA提供程序很可能不了解父对象。

因此,解决问题可以执行以下操作之一:

  1. 从子级到父级添加反向关系,并应用PERSIST级联。
  2. 手动保持父级(通过使用parentDao或直接与EntityManager.persist())。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

休眠单向一对多:从孩子那里坚持下来的父母

来自分类Dev

一对多单向学说坚持

来自分类Dev

一对多的休眠状态添加了新的孩子

来自分类Dev

一对多的休眠方式添加了新的孩子

来自分类Dev

休眠:删除父母/所有者,同时保持孩子一对一的关系

来自分类Dev

一对多休眠

来自分类Dev

将父母与孩子一起休眠

来自分类Dev

在一对多MySQL关系中,如何确定父母的孩子的属性在所有父母中是否不唯一?

来自分类Dev

一对多:如果有孩子,请列出父母

来自分类Dev

原则2-一对多单向

来自分类Dev

休眠,坚持多对多

来自分类Dev

休眠外键一对一单向

来自分类Dev

休眠检索父母/孩子

来自分类Dev

从Django的孩子那里获得父母

来自分类Dev

孩子从父母那里扩大

来自分类Dev

休眠两个父母一个孩子映射

来自分类Dev

查询所有孩子都有一对/重复的父母

来自分类Dev

休眠一对多注释映射

来自分类Dev

休眠一对多返回arrayindexoutofbounds

来自分类Dev

休眠-集的一对多映射-批注

来自分类Dev

在休眠中一对多查询

来自分类Dev

休眠一对多匹配多个ID

来自分类Dev

休眠一对多映射配置

来自分类Dev

休眠一对多注释映射

来自分类Dev

休眠5与observablelist一对多

来自分类Dev

休眠一对多自动插入ID

来自分类Dev

架构异常一对多休眠

来自分类Dev

jpa休眠一对多双向

来自分类Dev

使用一对多返回休眠