【问题标题】:hibernate mapping list-index休眠映射列表索引
【发布时间】:2012-09-21 02:09:10
【问题描述】:

我在休眠中使用列表进行一对多双向映射..

以下是我的列表代码:

<list name="fEvents" table="FTP_SCAN_EVENTS" cascade="save-update" access="field">
  <key column="LOCATION_ID"  />
  <list-index column="idx" />
  <one-to-many class="FtpScanEvents" />
</list>

表中的column idx 没有生成。我必须将它作为我班级的属性吗?关于生成此 ID 的任何建议...?

【问题讨论】:

  • 未生成是什么意思。 Hbm2ddl 或填充值
  • 表中的 idx 列的默认值为 '0'..
  • 我是否需要检查增加 idx 值的条件,或者如果已经有 0,它如何插入 1 或 2
  • 你的收藏类是什么
  • 并添加场景代码。新的或更新的...

标签: hibernate


【解决方案1】:

尝试更改为索引而不是列表索引。 您不需要索引的属性。 Hibernate 根据列表中的位置计算它。您还可以定义 base 以从另一个基础而不是 0 开始位置

另外检查一下 - Bidirectional list

【讨论】:

  • 我正在考虑使用 bag 而不是 list..如果我使用 bag...它是否会与 list 相同来遍历包并在 jsp 中显示它
  • 来自 java prespective list 可以映射到 list 或 bag。 bag 是无序列表,意味着列表的位置不会保存在数据库中,因此从数据库中加载不会总是给您与列表中相同的顺序。您可以使用带有 order 属性的 bag 来告诉 hibernate 如何将它们放在列表中,这样您就可以获得所需的业务订单。从迭代来看,它们是相同的 - 两种情况下的 java 列表
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 2019-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多