2013-08-14 1 views
1

다음과 같은 엔티티에서 열 이름을 고유하게하고 싶습니다. 어떤 이유로, Hibernate는 테이블을 자동 생성 할 때 어떤 고유 한 제약 조건도 생성하지 않는다. 왜 Hibernate가이 유일한 제약을 시행하지 않는지에 대한 아이디어는 없습니까? JBoss EAP 6.1에서 MySQL 5.5와 Hibernate 4.2.0을 돌리고 있습니다.고유 제한을 생성하지 않는 최대 절전 모드

@Entity 
@Table(name = "Address", uniqueConstraints = @UniqueConstraint(columnNames = { "Name" })) 
public class AddressEntity { 

    private int id; 
    private String name; 
    private String streetAddress; 
    private String country; 
    private String city; 
    private String zip; 

    @Id 
    @GeneratedValue 
    public int getId() { 
     return id; 
    } 

    public void setId(int id) { 
     this.id = id; 
    } 

    @Column(name = "Name", unique = true, nullable = false) 
    public String getName() { 
     return name; 
    } 

    // getters and setters... 
} 

답변

1

@Table에서 uniqueConstraint을 삭제 해보세요.

+1

아니요, 불행히도 작동하지 않습니다. 나는 다른 조합을 시도했다. @UniqueConstraint (columnNames = { "Name"})로 시작한 다음 @Column (name = "Name", unique = true, nullable)을 사용하여 @Column (name = "Name", unique = = false). 아무것도 작동하는 것 같습니다. – user2664820

+0

이것을'getters' 대신'setters' 또는'variable'에 넣으십시오. – user2550754

+0

차이가 없습니다. – user2664820

관련 문제