如何在jpa中只保留父对象而不是子对象?

时间:2017-05-06 05:02:21

标签: java hibernate spring-mvc jpa

我有两个A类和B类.A类是父类,B类是小孩 现在我只想坚持A.我也可以在将来更新B.

 @Entity
 @Table(name = "A")
 public class A{
   @Id
   @Column(name="id")
   @GeneratedValue(strategy=GenerationType.AUTO)
   private long id;
 }

 @Entity
 @Table(name = "N")
 public class B{
   @ManyToOne
   @JoinColumn(name = "id")
   private A a;
 }

当我只保留A然后我需要在A中设置B对象。如果没有在A中设置B对象则获得异常。如果在A中设置B对象,则两个对象都是持久的。

由于

1 个答案:

答案 0 :(得分:0)

假设您的问题的解决方案是您需要指定AB之间的关系(类似于@ManyToOne)。

或者如果A不是自己的实体,请使用@Embeddable标记,并将@Embedded添加到B中的变量声明。

@Entity
@Table(name = "A")
@Embeddable
 public class A{
 @Id
 @Column(name="id")
 @GeneratedValue(strategy=GenerationType.AUTO)
 private long id;
}

 @Entity
 @Table(name = "N")
 public class B{


  @Embedded
  private A a;
}