Hibernate: добавьте свойство в моем классе, которое не сопоставлено с таблицей БД - PullRequest
38 голосов
/ 24 октября 2010

У меня есть таблица tbl_sky, которая имеет 2 свойства name и model, и я бы использовал аннотацию Hibernate, как;

@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;
    }
.
.
.

Но мне нужно добавить еще одно свойство status, которого нет в таблице, но оно необходимо в классе. Как я могу объявить это свойство, чтобы оно было в моем классе, но не в моей db-таблице?

Вся помощь приветствуется.

Ответы [ 3 ]

62 голосов
/ 24 октября 2010

Используйте @Transient аннотацию для поля, которое вы не собираетесь хранить в БД:

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

или

@Transient
private String status;
9 голосов
/ 24 октября 2010

Отметьте его как @Transient, и он не будет частью схемы БД.

9 голосов
/ 24 октября 2010

Если вы пометите поле с @Transient, оно не будет сохранено.

...