2012-01-08 3 views
1

임 사용하여 최대 절전 모드에서 최대 절전 모드 주석과 고유 제한 조건을 만드는 데 실패하고 난 최대 절전 모드 주석 (데이터베이스에 명시 적으로 추가되지 않음) 그러나9.1 POSTGRES, 포스트 그레스 데이터베이스

, DB를 통해 고유 제한 조건을 추가하기 위해 노력하고있어 유일한 주석을 무시하고 제약 조건을 생성하지 않습니다. 나는 또한 @Table 주석의 contraint를 추가 시도했지만 역시 실패

@Entity 
public class Person implements Serializable { 

@Id 
@Column(insertable=false, updatable=false) 
@Type(type="java.lang.Long") 
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator="PERSON_SEQ") 
@SequenceGenerator(name="PERSON_SEQ", sequenceName="PERSON_SEQ", allocationSize=1) 
private Long id; 


@Column(unique=true) 
private String username; 
} 

있는 hibernate.cfg.xml

<hibernate-configuration> 
<session-factory> 

    <property name="hibernate.connection.driver_class">org.postgresql.Driver</property> 
    <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/Test1</property> 
    <property name="hibernate.connection.username">postgres</property> 
    <property name="hibernate.connection.password">postgres</property> 
    <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property> 

    <property name="hbm2ddl.auto">update</property> 

</session-factory> 

+0

제약 조건이 무시 된 것을 어떻게 확인 했습니까? – axtavt

+0

제약 조건은 db에 전달되지 않습니다. 또한 테스트를 통해 중복 된 사용자 이름을 만들 수 있습니다. – geo

답변

1

그냥 설정 속성을 "hbm2ddl.auto" "만드는"하고 hibernate는 유일한 칼럼을 가진 테이블을 다시 생성 할 것이다.