2010-03-19 168 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