2010-10-24 30 views
25

J'ai une table tbl_sky qui a 2 propriétés name et model et j'utiliserais l'annotation Hibernate comme;Hibernate: Ajouter une propriété dans ma classe qui n'est pas mappée à une table-db

@Entity 
@Table(name="tbl_sky") 
public class Sky implements Serializable { 
    private String name; 
    private String model; 
    private String status; 

    @Id 
    public String getName() { 
     return name; 
    } 
. 
. 
. 

Mais je dois ajouter une propriété status qui n'existe pas dans la table mais il est nécessaire dans la classe. Comment pourrais-je déclarer cette propriété pour que je l'ai dans ma classe mais pas dans ma table db?

Toute aide est appréciée.

+0

Essayez-le sans aucune annotation. –

+0

Il le mappe tout de même comme 'statut' – Adnan

Répondre

46

Utilisez annotation @Transient pour le champ que vous n'allez stocker dans DB:

@Transient 
public String getStatus() { 
    return status; 
} 

ou:

@Transient 
private String status; 
+5

il peut aller sur le getter, ou sur le terrain lui-même. – Bozho

+0

Merci, mise à jour de la réponse – Kel

5

Si vous annoter un champ avec @Transient il ne sera pas persisté.

+0

thanx @jjungnickel – Adnan

4

Marquez-le en tant que @Transient et il ne fera pas partie du schéma de base de données.