我正在使用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个属性,我喜欢前两个保存在数据库表中,并喜欢计算第三个属性。当我以create作为选项运行hbm2ddl时,它创建了所有3列,尽管我在第三列上没有@Column注释。
如何防止Hibernate将最后一个属性创建为列?
发布于 2012-02-01 01:13:18
@Transient肯定会阻止它。
发布于 2012-02-01 01:27:32
@Column注释并不意味着字段将被持久化。它只是为模式生成器添加了更多信息。
如果您不想持久化某个字段(但仍然对实体使用字段访问),则应该将其注释为NimChimpsky所指向的@Transient,或者使用NimChimpsky transient关键字。
https://stackoverflow.com/questions/9083727
复制相似问题