【问题标题】:Hibernate mapping, on a unmapped class休眠映射,在未映射的类上
【发布时间】:2010-03-19 09:40:17
【问题描述】:

我有 2 张桌子... Challenge 和 ChallengeYear,ChallengeYear 只是创建一个挑战年份列表。

我只想将 Challenge 设为一个实体,其中包含 List 年份的列表。这可能吗?

我已经查看了 @SecondaryTable 以及 @JoinColumn 和 @OneToMany,但它们都不能解决问题,或者我忽略了一些东西。

有人可以帮我吗?

您好, 一月

【问题讨论】:

  • 您希望如何将它们保存在数据库中?挑战年包含什么?是只有一个包含年份的整数,还是更多?
  • 它应该像 @OneToMany(CascadeType.ALL, FetchType.EAGER) ChallengeYear 包含对 Challenge 的 FK 约束,然后是列年份。这样就有可能增加几年的挑战

标签: hibernate mapping entities hibernate-onetomany


【解决方案1】:

您的模型中的年份是什么,它是整数吗?

如果是,您可以使用 @CollectionOfElements 注释您的 Challenge.getYears 方法

喜欢:

  @CollectionOfElements
  @JoinTable(
    table=@Table(name="ChallengeYear"),
    joinColumns = @JoinColumn(name="challengeId")
  )
  @Column(name="year", nullable=false)
  List<Integer> getYears() {
    ...

【讨论】:

  • 很好用,谢谢,我遇到了@CollectionOfElements 注释,但不知道如何配置它。无论如何,谢谢
  • @Jan - 如果此答案对您有用,请将其标记为已接受(投票计数器下方的勾号)
  • @Jan:我很高兴......休眠映射参考文档可能很难阅读@Bozho:谢谢;-)
猜你喜欢
  • 2013-02-09
  • 2017-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多