【问题标题】:JPA foreign key - insert new record if necessary?JPA外键 - 如有必要插入新记录?
【发布时间】:2014-12-16 23:44:45
【问题描述】:

是否可以创建一些注释组合,提供以下内容:

  • 有 2 个表(一对多关系)
  • 是否可以在 JPA 级别上无需编程,只需创建“一个”类的对象,如果设置了 id 仅使其在“many”表中引用,如果未设置 id,则在“ one" 表并在 "many" 表中引用该 ID

【问题讨论】:

    标签: java mysql jpa jpa-2.0


    【解决方案1】:

    没有。您需要自己创建所有对象。

    如果您愿意,您可以使用 cascade 进行自动持久化。

    应该是这样的:

    a.setB(b);
    b.getAList().add(a);
    
    entityManager.persist(a);
    

    在你的类中,你会像这样映射:

    public class A {
        // other methods and ID
    
        @ManyToOne
        @JoinColumn(name = "b_id")
        private B b;
    }
    
    
    public class B {
        // other methods and ID
    
        @OneToMany(mappedBy = "b", cascade = CascadeType.PERSIST)
        private List<A> aList;
    }
    

    【讨论】:

      猜你喜欢
      • 2023-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-23
      • 2015-01-24
      • 2018-11-28
      • 1970-01-01
      • 2016-10-01
      相关资源
      最近更新 更多