【发布时间】:2019-11-08 03:48:56
【问题描述】:
我有几个实体
@Entity
@Table(name = "A")
public class A {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "alIdSeq")
@SequenceGenerator(name = "aIdSeq", sequenceName = "a_id_seq", allocationSize = 1)
private Long id;
@JoinColumn(name = "a_id", referencedColumnName = "id")
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
private List<B> b = new ArrayList<>();
}
@Entity
@Table(name = "B")
public class B {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "blIdSeq")
@SequenceGenerator(name = "aIdSeq", sequenceName = "b_id_seq", allocationSize = 1)
private Long id;
}
示例:当我从 repo 获取对象 A 并将新对象 B 添加到列表时,存储库不会保存新对象 B。
A a = aRepository.findById(someId);
B b = new B();
a.getB().add(B);
注意:Sql表不包含新B。
【问题讨论】:
标签: java spring postgresql jpa spring-data