我有这样的实体结构:
Product 1 -> N ProductCustomField
1 1
| |
M M'
Release 1 -> N' ReleaseCustomField
ProductCustomField是一种“原型” - Release 可能具有的字段列表。
我想选择一个Release对象,其中所有对象ReleaseCustomFields都ProductCustomField在Product其中Release。
例子:
MySoft 具有自定义字段“downloadURL”,默认值为“”。MySoft 已发布 1.0。这个版本没有ReleaseCustomFields,但因为它是MySoft 的一个版本,我可以看出它可能有“downloadURL”自定义字段。
因此,我希望 MySoft 1.0 版本带有定义“downloadURL”的地图(默认值“”)。
我知道我会在 SQL 中做什么,这将是一个不错的长而复杂的 SELECT,但可能。
我不知道如何在 JPA/Hibernate 中掌握它。
不确定这是否是尝试在SELECT. 也许我宁愿Release用 INSERT 填充 的自定义字段,然后简单地依赖映射(这已经有效)?
或者我应该在 中创建一个特殊属性Release,填充特殊查询?(我不介意使用org.hibernate.*注释。)
或者我应该做最简单的事情 - 采取release.getProduct().getCustomFields()并执行“对于 中的每个字段ProductCustomField,使用中的内容ReleaseCustomField,还是ProductCustomField#getDefault()其他方式?