Si vous prenez l'indice d'Hibernate :
Hibernate lit/écrit l'état de l'objet avec son champ. Hibernate fait également correspondre les propriétés de style Java Bean au schéma de la base de données. Hibernate accède aux champs pour charger/sauvegarder l'objet. Si le mappage est effectué par propriété, Hibernate utilise le getter et le setter.
C'est l'encapsulation qui différencie les moyens où vous avez des getter/setters pour un champ et il est appelé propriété, avec cela et nous cachons la structure de données sous-jacente de cette propriété dans setMethod, nous pouvons empêcher le changement non désiré dans les setters. Tout ce que représente l'encapsulation...
Champs doivent être déclarés et initialisés avant d'être utilisés. Principalement pour un usage interne à la classe.
Propriétés peuvent être modifiées par un setter et sont exposées par des getters. Ici, le champ price a des getter/setters, il s'agit donc d'une propriété.
class Car{
private double price;
public double getPrice() {…};
private void setPrice(double newPrice) {…};
}
<class name="Car" …>
<property name="price" column="PRICE"/>
</class>
De même, en utilisant champs Dans Hibernate, c'est la manière recommandée de MAP en utilisant des champs, où private int id ; est annoté @Id, mais avec Property vous avez plus de contrôle].
class Car{
private double price;
}
<class name="Car">
<property name=" price" column="PRICE" access="field"/>
</class>
La doc Java dit : Un champ est un membre de données d'une classe. Un champ est une variable d'instance non statique et non transitoire. Le champ est généralement une variable privée sur une classe d'instance.