Gab*_*iel 25 persistence hibernate constraints unique-constraint hibernate-mapping
处理一些遗留的hibernate代码.
如何使用hbm.xml(hibernate映射文件)而不是注释执行以下操作?
@Table(name="users", uniqueConstraints = {
@UniqueConstraint(columnNames={"username", "client"}),
@UniqueConstraint(columnNames={"email", "client"})
})
public class User implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private int id;
private String username;
private String email;
private Client client;
}
Run Code Online (Sandbox Code Playgroud)
Thi*_*rry 21
使用properties标签:
...
<properties name="uk1" unique="true">
<property name="username" .../>
<many-to-one name="client" .../>
</properties>
<properties name="uk2" unique="true">
<property name="email" .../>
<many-to-one name="client" update="false" insert="false" .../>
</properties>
...
Run Code Online (Sandbox Code Playgroud)
文件摘录:
<properties>元素允许定义类属性的命名逻辑分组.构造的最重要用途是它允许属性组合成为property-ref的目标.它也是定义多列唯一约束的便捷方式.
Hibernate文档中描述了所有可用选项.
你也可以这样做:
<many-to-one name="client" unique-key="uk1,uk2" .../>
<property name="username" unique-key="uk1" .../>
<property name="email" unique-key="uk2" .../>
Run Code Online (Sandbox Code Playgroud)
您不需要在hbm中使用该标记.如果您只想要多个唯一约束.
| 归档时间: |
|
| 查看次数: |
24995 次 |
| 最近记录: |