Hibernate @UniqueConstraint目的

时间:2015-09-25 15:51:21

标签: java database hibernate annotations

您能澄清一下这个注释的实际目的吗?    - 如果我们没有使用DB中的SQL表定义定义相应的约束会发生什么。当我们尝试插入时,hibernate会检查唯一性吗?或者这是DB的目的吗?如果hibernate在插入时不会检查是什么原因只能指定这个?如果我们不是从模型类自动生成表定义,那么这些注释是否有任何用途?

2 个答案:

答案 0 :(得分:1)

正如javadoc

中所述
  

指定在生成的内容中包含唯一约束   主表或辅助表的DDL。

提供的约束将包含在生成的DDL中(意味着它将由模式生成工具使用)。

答案 1 :(得分:1)

您能澄清一下这个注释的实际目的吗? @UniqueConstraint属性是用于生成相应约束的模式生成工具的指令。

如果我们没有使用DB中的SQL表定义定义相应的约束会发生什么。当我们尝试插入时,hibernate会检查唯一性吗? 不,Hibernate不会检查唯一性。

或者这是DB的目的吗?
是的,这个目的是在DB的帮助下提供的。

如果hibernate在插入时不会检查是什么原因只能指定这个?
仅适用于模式生成工具

如果我们不是从模型类自动生成表定义,那么这些注释是否有任何用途?
除了生成模式之外,它还提供了有关唯一性的可读性。

相关问题