Mapping Enum sur une table de la base
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:
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:
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:
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 :aie:
Je vous remercie par avance.