.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)) ”,證明是對噠、