如果对字段进行了注释insertable=false, updatable=false,这是否意味着您不能插入值或更改现有值?你为什么想这么做?
insertable=false, updatable=false
@Entity public class Person { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @OneToMany(mappedBy="person", cascade=CascadeType.ALL) private List<Address> addresses; } @Entity public class Address { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @ManyToOne @JoinColumn(name="ADDRESS_FK") @Column(insertable=false, updatable=false) private Person person; }
当创建/更新相关实体的 责任 不在 当前 实体中时,您可以这样做。例如,您有一个Person和一个Address。您想添加与实体中实体insertable=false, updatable=false的@OneToMany关系,只是因为创建或更新并不是实体的责任。相反。Person``Address``Address``Person
Person
Address
@OneToMany
Person``Address``Address``Person