2010-02-24 3 views
1

Je veux concevoir une classe d'entité qui a une propriété String []. Ce tableau de chaînes a toujours deux valeurs et je ne veux pas que Hibernate (ou plutôt JPA) crée une table supplémentaire pour cela mais incorpore directement ces deux valeurs String dans la table. Est-ce possible et si oui, comment?Comment incorporer un tableau de chaînes dans une entité (JPA)

Répondre

4

S'il y a toujours exactement deux valeurs, vous pouvez jouer avec getter/setter et variable d'instance. Vous pouvez en effet choisir si vous mappez la variable d'instance ou la propriété avec @Column.

@Column 
String s1; 

@Column 
String s2; 

public String[] getProp() 
{ 
    return new String[]{ s1, s2 }; 
} 

public String setProp(String[] s) 
{ 
    s1 = s[0]; 
    s2 = s[1]; 
} 

Sinon, regardez @Embedded entité. Quelque chose dans l'esprit de

@Entity 
public class MyEntity { 

    @Embedded 
    public StringTuple tuple; 

} 

public class StringTuple { 
    public String s1; 
    public String s2; 
} 
1

Si ce tableau contient toujours deux éléments, pourquoi ne pas simplement créer une classe pour les contenir et que mapper Component?

Questions connexes