2013-12-16 17 views
1

我在我的项目中使用Hibernate。我有一个已经创建的数据库模式。用Hibernate陈述表列属性

我的教程在网上看到

@Column(name = "STOCK_ID", unique = true, nullable = false) 
    public Integer getStockId() { 
     return this.stockId; 
    } 

喜欢独特的可空等列属性正在被使用。我的问题是,我是否需要 指定这些属性,当我已经有一个预先准备好的数据库模式,并且在创建表时所有的列都是非空和所有的检查?

回答

1

不,您只需填写Hibernate注释中所需的参数。但可选参数通常具有默认值。您的数据库必须与默认值兼容,否则您将不得不填写您使用的值。

+0

感谢您的回复 – underdog

1

unique仅在从JPA注释生成数据库模式时使用。 nullable = false允许JPA更高效:如果将实体写入数据库时​​该值为空,则它甚至不必执行插入/更新查询,并可立即引发异常。

即使这不是绝对必要的,我也希望将这些信息放在映射中用于文档目的。无需查看数据库模式即可从代码中立即知道属性是否为空,这很有用。

+0

此答案有用+1 :) –