1
我正在爲我的web應用程序使用mySQL的playframwork。我有一個表需要在多個列上有unique_constraint。Play Framework [1.2.4]:實體的唯一約束條件
我有實體定義如下......
package models;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
@Entity
@Table(name = "table",
uniqueConstraints = { @UniqueConstraint(columnNames =
{ "col_1", "col_2" }) })
public class Table extends Model{
@ManyToOne
@JoinColumn(name = "col_1")
public Column1 col1;
@ManyToOne
@JoinColumn(name = "col_2")
public Column2 col2;
@ManyToOne
@JoinColumn(name = "col_3")
public Column3 col_3;
}
列1和列2是與 表實體關係不同的實體。
當我嘗試插入具有重複的「col_1和col_2」值的數據如下所示 我沒有得到任何錯誤。數據在表格(MySQL)中被正確插入。
Table table1 = new Table();
table1.col1 = new Column1("1");
table1.col2= new Column2("2);
table1.col3= new Column3("3");
table1.save();
Table table2 = new Table();
table2 .col1 = new Column1("1");
table2 .col2= new Column2("2);
table2 .col3= new Column3("3");
table2 .save();
我是否需要在表上手動創建unique_constraint?
請幫助我瞭解,如果我有什麼遺漏在上面 實施
感謝, KARTHIK