2011-07-11 41 views
8

Có thể sử dụng JPA để xác định nhiều ràng buộc duy nhất không.JPA - xác định các ràng buộc duy nhất nhiều cột

@Entity 
class Foo { 
    long id; 

    String name; 

    MyEnum type; 

} 

Foo.id nên là duy nhất là kết hợp của {Foo.name, Foo.type}.
Ví dụ:
id, tên, loại
1, "name1", "type1"
2, "name1", "type2"
3, "name1", "type1" // trùng lặp lỗi của id = 1

Làm cách nào để đạt được điều này bằng chú thích JPA?

Cảm ơn

Trả lời

14

Với uniqueConstraints thuộc tính của Table chú thích:

@Table(name = "FOO", uniqueConstraints={ 
    @UniqueConstraint(columnNames = {"NAME", "TYPE"}) 
}) 
+1

Oracle sẽ báo cáo một cột không tìm thấy nếu tài sản không có tên cột của nó thuộc tính quy định rõ ràng trong các chú thích Cột. – Stephane

Các vấn đề liên quan