.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)) ”,证明是对哒、