2016-10-11 3 views
0

저는 현재 작은 그룹 관리 시스템을 개발 중이며 eclipselink 및 SqlLite와 함께 Java 8을 사용하고 있습니다.Eclipselink - OneToOne 매핑

@Entity 
@Table(name = "T_GROUP") 
public class Group { 

    @Id 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    private long id; 

    private String name; 
    private List<Permission> permissions; 
    private boolean defaultGroup; 
    private String prefix; 
    private String suffix; 
    private int rank; 
    private boolean build; 

    @OneToOne 
    private Group inherit; 

    /** 
    * Instantiates a new Group. 
    */ 
    public Group() { 

    } 

    ...Getters Setters 
} 

분야는 다른 권한을 가진 다른 그룹에 대한 참조를 상속하지만, 현재 그룹은 다른 그룹에서 모든 권한을 상속합니다. 필드 상속을 사용하려면 어떻게해야합니까? 그것은 같은 유형입니다. OneToOne 관계는 나에게 다음과 같은 오류를 제공합니다 : 귀하의 질문에, 당신은 단순히 @OneToOne 주석을 사용할 수있는 자체 참조 관계를 매핑하는 방법입니다

Internal Exception: java.sql.SQLException: [SQLITE_ERROR] SQL error or missing database (near "CONSTRAINT": syntax error)

Error Code: 0

Call: ALTER TABLE T_GROUP ADD CONSTRAINT FK_T_GROUP_INHERIT_ID FOREIGN KEY (INHERIT_ID) REFERENCES T_GROUP (ID)

+0

데이터 모델이 변경되었습니다. 다른 클래스는 필요하지 않기 때문에 –

+0

편집 된 게시물과 관련이 없기 때문에 내 응답이 삭제되었습니다 ... – David

+0

어떤 종류의 "작업"을 원하십니까? '상속 (inherit) '필드와 관련이 있습니까? – David

답변