我目前正在开发一个小组管理系统,并使用带有eclipselink和SqlLite的java 8。
@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关系给出了以下错误:
内部异常:java.sql.SQLException:[SQLITE_ERROR] SQL错误或缺少数据库(“CONSTRAINT”附近:语法错误)
错误代码:0
调用:ALTER TABLE T_GROUP ADD CONSTRAINT FK_T_GROUP_INHERIT_ID FOREIGN KEY(INHERIT_ID)REFERENCES T_GROUP(ID)
答案 0 :(得分:0)
如果您的问题是如何映射自引用关系,您可以简单地使用@OneToOne注释。这已在JPA: How to have one-to-many relation of the same Entity type
中得到解答