例如:
@Table(name = "stock", catalog = "mkyong", uniqueConstraints = {
@UniqueConstraint(columnNames = "STOCK_NAME"),
@UniqueConstraint(columnNames = "STOCK_CODE") })
或
@Column(name = "STOCK_NAME", unique = true, nullable = false, length = 20)
诸如“unique”、“nullable”甚至字段长度之类的约束是核心数据库功能。为什么在这里包括这个?另外(尽管这可能会伤害一些人),我敢打赌,数据库对这些限制的实现,特别是像Oracle这样的主流商业DBS,可能比OSS Hibernate开发者能想到的更好。
在Hibernate中使用这种类型的东西是明智的,还是在数据库中放置约束等更好的做法?如果您使用这些休眠特性,实际上您将数据库视为一个文件系统,那么有什么意义呢?这个用法无处不在,但我还没有找到解释为什么要这样做的文档。