Bonjour,

Je souhaiterai mapper une énumération sur une table de la base. Ensuite utiliser cet enum dans un objet de persistance.

Voici la table sur laquelle l'énumération sera mapper :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
CREATE TABLE TypeArticle
  (
    TYAR_ID INTEGER NOT NULL ,
    TYAR_CODE VARCHAR2 (6 CHAR) NOT NULL ,
    TYAR_LIBELLE VARCHAR2 (48 CHAR) NOT NULL
  ) ;
Voici l'énumération à mapper :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
public enum TypeArticleEnum {
    ARTICLE_LONG (1, "ART_LNG", "Article long"),
    ARTICLE_COURT (2, "ART_CRT", "Article court"),
    ARTICLE_LOURD (3, "ART_LRD", "Article lourd"),
    ARTICLE_LEGER (4, "ART_LGR", "Article léger");
}
Dans l'objet de persistance, j'envisage quelque chose du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
@Entity
@Table(name = "ARTICLE")
public class Article implements Serializable {
 
// @?
private TypeArticleEnum typeArticle;
 
// Guetter
public TypeArticleEnum getTypeArticle () { return this.typeArticle; }
 
// Setter 
public setTypeArticle (TypeArticleEnum typeArticle) { this.typeArticle = typeArticle; }}
N.B. Ce qui est entre parenthèse dans l'enum, correspond aux insert de la table TypeArticle.

Questions:
1. Par quoi il va falloir compléter l'énumération ?
2. Quelle annotation à mettre sur l'attribut "typeArticle" ou éventuellement sur son getter?

Un exemple est toujours le bienvenue

Je vous remercie par avance.