2010-10-24 41 views
25

Tôi có một bảng tbl_sky có 2 thuộc tính namemodel và tôi sẽ sử dụng chú thích Hibernate như;Hibernate: Thêm thuộc tính vào lớp của tôi không được ánh xạ tới bảng 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; 
    } 
. 
. 
. 

Nhưng tôi cần thêm một thuộc tính nữa status không tồn tại trong bảng nhưng cần thiết trong lớp học. Làm thế nào tôi có thể tuyên bố rằng tài sản để tôi có nó trong lớp học của tôi nhưng không phải trong bảng db của tôi?

Tất cả trợ giúp đều được đánh giá cao.

+0

dùng thử mà không có bất kỳ chú thích nào. –

+0

Nó ánh xạ nó như là 'status' – Adnan

Trả lời

46

Sử dụng @Transient chú thích cho lĩnh vực bạn sẽ không để lưu trữ trong DB:

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

hay:

@Transient 
private String status; 
+5

nó có thể đi trên getter, hoặc trên chính trường đó. – Bozho

+0

Cảm ơn, câu trả lời cập nhật – Kel

5

Nếu bạn chú thích một lĩnh vực với @Transient nó sẽ không được tiếp tục tồn.

+0

thanx @jjungnickel – Adnan

4

Đánh dấu là @Transient và nó sẽ không nằm trong lược đồ DB.

Các vấn đề liên quan