[java] Por favor explique sobre: insertable = falso, actualizable = falso


Answers

Definir insertable=false, updatable=false es útil cuando necesita asignar un campo más de una vez en una entidad, generalmente:

Esto no es una cuestión semántica, sino definitivamente técnica.

Question

Si un campo está anotado insertable=false, updatable=false , ¿no significa que no puede insertar valor ni cambiar el valor existente? ¿Por qué querrías hacer eso?

@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;
}



Otro ejemplo sería en la columna "created_on" donde quiere que la base de datos maneje la creación de la fecha






Related