2013-12-18 82 views
0

我想通過休眠來創建好友系統,並且我需要檢查此用戶與其他用戶關聯的時間。休眠用戶和朋友關係添加其他列

我希望像下面的代碼表中的列:

table 1: 
    int id; 
    String name; 

table 2: 
    int user_id; 
    int friend_id; 
    Date startdate; 

POJO代碼:

public class User { 
    private int id; 
    private String name; 
    private Map<User,Date> friends; 
} 
+1

你必須更加精確。你展示你的代碼是好事,但你的問題是什麼? – Magnilex

回答

0

我認爲你需要罷了然後JPA。就像這樣:

@Entity 
@Table(name = "users") 
public class User implements Serializable { 

    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private Long id; 

    @Column 
    private String name; 

    @ElementCollection(fetch = FetchType.EAGER) 
    @CollectionTable(name = "friendship", joinColumns = @JoinColumn(name = "user_id")) 
    @MapKeyColumn(name = "friend_id") 
    @Column(name = "start_date") 
    private Map<Long, Date> friendshipMap; 

    ... getters/setters ... 

} 
+0

thx!這是一個史詩般的代碼對我來說:> – user3116046

+0

需要更多的幫助:爲什麼我已經與列(user_id,start_date,** friends_KEY **)生成表「友誼」? – user3116046

+0

我已經使用@MapKeyJoinColumn,並反向到用戶的列「ID」。 – user3116046