2010-10-24 10 views
25

Mam tabelę tbl_sky, która ma 2 właściwości name i model i chciałbym użyć adnotacji Hibernate takich jak;Hibernate: Dodaj właściwość w mojej klasie, która nie jest mapowana na tabelę 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; 
    } 
. 
. 
. 

Ale muszę dodać jeszcze jedną właściwość status, który nie istnieje w tabeli, ale jest potrzebne w klasie. W jaki sposób mogę zadeklarować tę właściwość, aby mieć ją w mojej klasie, ale nie w moim db-table?

Cała pomoc jest doceniana.

+0

Wypróbuj bez żadnych adnotacji. –

+0

To mapuje mimo to jako "status" – Adnan

Odpowiedz

46

Zastosowanie @Transient adnotacji do pola, które nie będą przechowywane w bazie danych:

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

czyli

@Transient 
private String status; 
+5

może iść na gettera, lub na samym polu. – Bozho

+0

Dzięki, zaktualizowana odpowiedź – Kel

5

Jeśli opisywanie pola z @Transient to nie będzie trwało.

+0

thanx @jjungnickel – Adnan

4

Oznacz jako @Transient i nie będzie częścią schematu DB.

Powiązane problemy