1

我有一个休眠映射:

<属性名称="lrt_bps_bpr_acs_uk" 独特的="真">
    <多对一名称="activitySummary" column="bps_acs_id" class="xyz.ActivitySummary"
    唯一键="lrt_bps_bpr_acs_uk"/>
    <多对一名称="bestPractice" column="bps_bpr_id" class="xyz.BestPractice"
        唯一键="lrt_bps_bpr_acs_uk"/>
</属性>

我希望休眠会为此映射在数据库上创建唯一约束。然而,没有发生类似的事情。

我究竟做错了什么?

4

3 回答 3

1

好像你没有做错什么。我们在我们的项目中以相同的方式进行操作,并且效果很好。我曾经想过有同样的问题,因为我在我们的 oracle 数据库中找不到约束,因为我认为指定的唯一键属性值(在你的情况下为“lrt_bps_bpr_acs_uk”)在数据库中用作约束名。但事实并非如此(至少对于 oracle DB)。

于 2011-11-28T10:24:10.080 回答
0

Hibernate 生成的实际 DDL 是什么?如果删除唯一键参数,DDL 会是什么?什么是休眠版本?

从文档来看,您似乎做得正确: http ://docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html#mapping-declaration-properties

于 2010-12-14T15:30:16.713 回答
0

不要在属性元素中指定 name="lrt_bps_bpr_acs_uk" unique="true"。它会自动接受它并使用唯一键应用约束

于 2012-08-04T10:36:43.387 回答