46 votes

Hibernate : ajouter une propriété dans ma classe qui n'est pas mappée sur une table de base de données

J'ai une table tbl_sky qui a 2 propriétés name et model et j'utiliserais l'annotation Hibernate comme ;

 @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 autre propriété status qui n'existe pas dans la table mais qui est nécessaire dans la classe. Comment pourrais-je déclarer cette propriété afin que je l'aie dans ma classe mais pas dans ma db-table ?

Toute aide est appréciée.

74voto

Kel Points 4034

Utilisez l' @Transient pour le champ que vous n'allez pas stocker dans la base de données :

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

ou:

 @Transient
private String status;

11voto

Sean Patrick Floyd Points 109428

Marquez-le comme @Transient , et il ne fera pas partie du schéma de la base de données.

10voto

jjungnickel Points 515

Si vous annotez un champ avec @Transient il ne sera pas conservé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X