私は現在、グループ管理システムを少し開発しており、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)
他のクラスが不要なため、データモデルが変更されました –
編集された投稿とは関係ないので、私の回答は削除されました... – David
"仕事"の種類フィールド '継承'と関係がありますか? – David