2

我正在使用hbm2ddl通过在配置中包含此行来自动创建架构:

<prop key="hibernate.hbm2ddl.auto">create</prop>

我有一个实体bean定义为:

@Entity
@Table(name = "user")
public class User {

    @Column(name = "firstname")
    private String firstName;

    @Column(name = "lastname")
    private String lastName;

    private String fullName;

}

有 3 个属性,我喜欢将前两个保存在数据库表中,并喜欢计算第三个。当我hbm2ddl使用选项运行时,create它会创建所有 3 列,尽管我在第三列上没有@Column注释。

如何防止 Hibernate 将最后一个属性创建为列?

4

2 回答 2

3

@Transient肯定会阻止它。

于 2012-01-31T17:13:17.863 回答
2

@Column注释并不意味着该字段将被持久化。它只是为模式生成器添加更多信息。

如果您不希望保留字段(并且仍然对实体使用字段访问),则应@Transient按照 NimChimpsky 指出的方式对其进行注释,或使用 Javatransient关键字。

于 2012-01-31T17:27:31.757 回答