Affichage des articles dont le libellé est JOOQ. Afficher tous les articles
Affichage des articles dont le libellé est JOOQ. Afficher tous les articles

mercredi 17 mai 2017

Pourquoi le mapping ORM viole les principes de la programmation orientée objet (POO)

Le sujet de cet article - pourquoi l’implémentation ORM dans Java (n’importe quelle : JPA, Hibernate, etc) ne peut pas être considérée comme un bon exemple du paradigme POO et qu'est-ce qu’on pourrait changer pour améliorer cet exemple et faire Java plus « objet-orientée ».
Tout le monde sait quand on parle d’ORM, on parle des frameworks qui nos permettent à travailler avec une base de données relationnelle. Ces frameworks JPA sont utiles pour un travail plus productif dans l’environnement Java, ou on travail avec des objets et pas avec des procédures.
Comme exemple, on regarde une classe d’unité typique Hibernate :

@Entity
@Table(name = "Users")
public class User {
   @Id @GeneratedValue
   @Column(name = "id")
   private int id;

   @Column(name = " name ")
   private String name;

   public User() {}
   public int getId() {
      return id;
   }
   public void setId( int id ) {
      this.id = id;
   }
   public String getName() {
      return name;
   }
   public void setName( String name) {
      this. name = name;
   }
}