您的位置:首页 > 其它

配置hibernate多个字段XML与注解方式的组合唯一约束

2017-03-25 11:04 381 查看
.hbm.xml文件配置:

数据库多列唯一:

1、 XML中多个< column >同时配置了unique-key=“true”,那么在数据库表中对应的N个字段会组成“组合唯一约束”,意思就是把这N个字段看作是一个整体,每行数据中那N个字段就是个整体,在该表中是唯一的,其他行数据不能与这行数据的那个整体完全相同。(废话有点多,主要写给新手看的)

数据库单列唯一:

2、XML中多个< column >配置了 unique=“true”,表示每个< column >各自是唯一约束。

实体类映射配置:

关键:下面的属性就是实现配置组合唯一约束

uniqueConstraints = {@UniqueConstraint(columnNames={“my1”,”my2”})}

@Entity
@Table(uniqueConstraints = {@UniqueConstraint(columnNames={"my1","my2"})})
public class Test {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;
@Column(name="my1")
private int mynum1;
@Column(name="my2")
private int mynum2;
//省略封装等
}


经测试:控制台输出sql语句中有“ unique (mynum1, mynum2)) ”,证明是对哒、
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: