如何在ormlite中创建与表本身的一对多关系?我有一个拥有自己收藏的课程。我不知道如何映射这个类。
@DatabaseTable(tableName = "USER")
public class User {
@DatabaseField(generatedId = true)
private long id;
@DatabaseField
private String username;
@ForeignCollectionField
private ForeignCollection<User> friends;
...
提前致谢。
答案 0 :(得分:0)
我有一个拥有自己收藏的课程。我不知道如何映射这个类。
我认为最好的方法是定义一个UserFriend
实体,该实体具有对所有者User
,朋友User
和ID的引用。类似的东西:
@DatabaseTable(tableName = "USERFRIEND")
public class UserFriend {
@DatabaseField(generatedId = true)
private long id;
// corresponds to the user who has the friend
@DatabaseField(foreign = true)
private User user;
// corresponds to the friend of the user
@DatabaseField(foreign = true)
private User friend;
...
然后你的外国收藏品变成:
@ForeignCollectionField(foreignFieldName = 'user')
private ForeignCollection<UserFriend> friends;
请注意foreignFieldName
必须指向user
,以便找到用户的朋友。