@Table(name = "stock", catalog = "mkyong", uniqueConstraints = {
@UniqueConstraint(columnNames = "STOCK_NAME"),
@UniqueConstraint(columnNames = "STOCK_CODE") })
或
@Column(name = "STOCK_NAME", unique = true, nullable = false, length = 20)
约束像 '独特的', '可为空',偶数场长度核心数据库功能。为什么要在这里包括?另外(虽然这可能会伤害到一些),但我还想知道,数据库实现这些约束,尤其是像Oracle这样的主流商业数据库,可能比OSS Hibernate开发人员可以实现的更好。
在Hibernate中使用这种类型的东西是明智的吗?还是将约束条件等放在数据库中是一种更好的做法?看起来,如果你使用这些Hibernate特性,你实际上将数据库视为一个文件系统,那有什么意义?这个用法无处不在,但我还没有找到解释你为什么要这样做的文档。
不可正对Hibernate的一个“专家”,我可能做一些假设它“重新实现”这些功能(看起来确实如此),但解释WHY(不是如何)的文档似乎并不容易找到! – Manius 2010-09-25 16:42:00