【发布时间】:2011-05-25 07:42:11
【问题描述】:
我有一个休眠映射:
属性>我希望 hibernate 会为此映射在数据库上创建唯一约束。然而,没有发生类似的事情。
我做错了什么?
【问题讨论】:
我有一个休眠映射:
属性>我希望 hibernate 会为此映射在数据库上创建唯一约束。然而,没有发生类似的事情。
我做错了什么?
【问题讨论】:
看起来你没有做错任何事。我们在我们的项目中也是这样做的,而且效果很好。 我曾经想过有同样的问题,因为我在我们的 oracle 数据库中找不到约束,因为我认为指定的唯一键属性值(在你的情况下为“lrt_bps_bpr_acs_uk”)在数据库中用作约束名。但事实并非如此(至少对于 oracle DB)。
【讨论】:
Hibernate 生成的实际 DDL 是什么?如果删除唯一键参数,DDL 会是什么?什么是休眠版本?
从文档看来,您做得正确: http://docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html#mapping-declaration-properties
【讨论】:
不要在属性元素中指定 name="lrt_bps_bpr_acs_uk" unique="true"。它会自动接受它并使用唯一键应用约束
【讨论】: