2010-03-19 276 views
0

我有2個表...挑戰和挑戰年,挑戰賽只是創建一個挑戰年的列表。休眠映射,在未映射的類

我只想挑戰一個實體,包含列表年的列表。這可能嗎?

我看過@SecondaryTable和@JoinColumn以及@OneToMany,但這兩者都不能做到這一點,或者我忽略了一些東西。

有人可以幫助我嗎?

問候, 揚

+0

你怎麼指望它能在數據庫中堅持? ChallangeYear包含什麼?它只是一個包含年份的整數,還是更多? – Bozho 2010-03-19 09:47:27

+0

它應該像@OneToMany一樣持久化(CascadeType.ALL,FetchType.EAGER)。ChallengeYear包含對挑戰的FK約束,然後是列年。因此,可以將幾年時間添加到挑戰 – Jan 2010-03-19 10:02:43

回答

1

什麼是你的車型年,是一個整數?

如果是的話,你可以註解你Challenge.getYears法@CollectionOfElements

,如:

@CollectionOfElements 
    @JoinTable(
    [email protected](name="ChallengeYear"), 
    joinColumns = @JoinColumn(name="challengeId") 
) 
    @Column(name="year", nullable=false) 
    List<Integer> getYears() { 
    ... 
+0

很好,謝謝,我遇到了@CollectionOfElements註釋,但不知道如何配置它。無論如何,謝謝 – Jan 2010-03-19 11:00:39

+0

@Jan - 如果這個答案適合您,請將其標記爲已接受(表決計數器下面的勾號) – Bozho 2010-03-19 12:10:16

+0

@Jan:我的榮幸...... hibernate映射參考文檔可能是一個難題 @Bozho:謝謝 ;-) – Thierry 2010-03-19 14:41:15