If a field is annotated insertable=false, updatable=false
, doesn't it mean that you cannot insert value nor change the existing value? Why would you want to do that?
@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;
}
You would do that when the responsibility of creating/updating the referenced column's entity isn't in the current entity, but in another entity.