Si un campo tiene la anotación insertable=false, updatable=false
, ¿no significa que no puede insertar valor ni cambiar el valor existente? ¿Por qué querrías hacer eso?Explicar sobre: insertable = falso, actualizable = falso
@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;
}
Se refiere a la definición de 'insertable = false, actualizable = false' en uno de los lados de la relación . – BalusC
Usted dice que con updatable = false en Person se desactivará la actualización de Person.name al actualizar la dirección (no estoy de acuerdo ya que este es el propósito de la cascada). También está diciendo que la definición de @Column hace algo diferente cuando su clave externa (Person) y cuando no es una clave foránea (ya que no hay ninguna entidad referenciada para deshabilitar la actualización). Al leer javadoc para actualizable, diría que simplemente desactivará para cambiar a Persona para una dirección dada si una vez persiste. ¿Puedes explicar por favor? – Flowy
Creo que quisiste decir '... a la relación @ManyToOne con ... '?? –