Si tomas una pista de Hibernate:
Hibernate lee / escribe el estado del objeto con su campo. Hibernate también asigna las propiedades de estilo Java Bean a DB Schema. Hibernar Acceda a los campos para cargar / guardar el objeto. Si la asignación se realiza por propiedad, hibernate usa getter y setter.
Es la Encapsulación la que diferencia los medios donde tiene getter / setters para un campo y se llama propiedad, con eso y ocultamos la estructura de datos subyacente de esa propiedad dentro de setMethod, podemos evitar cambios no deseados dentro de los setters. Todo lo que significa encapsulación ...
Los campos deben declararse e inicializarse antes de ser utilizados. Principalmente para uso interno de clase.
Las propiedades pueden ser cambiadas por setter y están expuestas por getters. Aquí el precio de campo tiene captadores / establecedores, por lo que es propiedad.
class Car{
private double price;
public double getPrice() {…};
private void setPrice(double newPrice) {…};
}
<class name="Car" …>
<property name="price" column="PRICE"/>
</class>
Del mismo modo, utilizando campos , [en hibernación es la forma recomendada de MAP utilizando campos, donde private int id; está anotado en @Id, pero con Property tienes más control]
class Car{
private double price;
}
<class name="Car">
<property name=" price" column="PRICE" access="field"/>
</class>
El documento de Java dice: Field es un miembro de datos de una clase. Un campo es una variable de instancia no estática, no transitoria. El campo es generalmente una variable privada en una clase de instancia.