很抱歉打扰-也许这是一个非常简单的问题-
但由于某些原因,下面的版本无法解析,而带有set的版本可以正常工作。实际上,如果我仅使用set版本并将set替换为list,则会得到:
嵌套异常为org.hibernate.InvalidMappingException:无法从无效映射中解析映射文档
谢谢米莎
<!-- bi-directional one-to-many association to SpreadsheetImportTemplateColumn -->
<list name="columns">
<!--
<set name="columns" lazy="false" inverse="true"
cascade="all-delete-orphan" sort="natural"
order-by="voided asc, preferred desc, date_created desc">
-->
<key column="template_id" not-null="true" />
<!--
<one-to-many class="SpreadsheetImportTemplateColumn" />
</set>
-->
</list>
你说
而带有set的版本可以正常工作
这是清单DOCTYPE
<!ELEMENT list (
meta*,
subselect?,
cache?,
synchronize*,
comment?,
key,
(index|list-index),
(element|one-to-many|many-to-many|composite-element|many-to-any),
loader?,sql-insert?,sql-update?,sql-delete?,sql-delete-all?,
filter*
)>
您可以看到,列表元素 需要index或list-index元素 ,key元素以及以下之一
这里是列表索引DOCTYPE
<!-- Declares the type and column mapping for a collection index (array or list index, or key of a map). -->
<!ELEMENT list-index (column?)>
<!ATTLIST list-index column CDATA #IMPLIED>
<!ATTLIST list-index base CDATA "0">
所以你应该使用
<list name="columns">
<key column="template_id" not-null="true"/>
<list-index column="WHICH COLUMN SHOULD BE USED AS INDEX"/>
<one-to-many class="SpreadsheetImportTemplateColumn" />
</list>
但是,如果您要使用列表而不是集合 ,并且没有list-index列 ,则可以使用bag。初始化如下
Collection<SpreadsheetImportTemplateColumn> columns = new ArrayList<SpreadsheetImportTemplateColumn>();
并定义此映射
<bag name="columns">
<key column="template_id" not-null="true"/>
<one-to-many class="SpreadsheetImportTemplateColumn"/>
</bag>
问题内容: 我的多对一映射存在性能问题。当我在日志文件中调试SQL查询时,可以进行主体查询,但是在我有其他表示多对一对象映射的查询之后。 Entity.hbm.xml: Object1.hbm.xml: Object2.hbm.xml: 查询HBM: 在pom.xml中 问题答案: 您是否尝试过像这样的FetchMode.SELECT?
为什么只适用于s而不适用于s?有什么特别的原因吗?
我有一个具有一对多关联的hibernate实体: *为清晰起见,删除了一些注释 子实体映射到具有复合主键(key和PARENT_ID)的表。问题是,当两个用户将相同的子项(使用相同的密钥)添加到相同的父项时,级联保存(session.saveOrUpdate(Parent))失败,子项的主键冲突而不是乐观锁失败。 如果除了集合之外,用户还更改了父实体中的其他一些属性,乐观锁也能正常工作。 我可以在
我正在开发一个SpringBoot项目,其中有@RestController和FilterRegistrationBean。我添加的过滤器可以工作,但是在@RestController和@RequestMapping中配置的url不能工作。当我请求url时,响应代码是200,但是没有显示任何内容。当我移除过滤器时,RequestMapping工作正常。为什么?(我访问的网址是http://loca
问题内容: 我是Java和Hibernate的新手(是Rails和C#开发人员)。无论如何,我有一个可以在Hibernate上正常运行的测试程序,但是我的实际Web应用程序(Struts 1)崩溃了: 我在用: 下面是实际的程序 WORKS 。这是主体项目的一部分。只是一个简单的JAVA测试。 效果很好。输出一些样本数据。 现在,当我尝试在Struts中执行相同的操作时,出现了异常。这是 行不通的
请注意,我已经看过类似的问题,我已经解释了为什么它们对我不起作用 我有一个简单Spring boot JPA-Hibernate应用程序,它具有用户和地址之间的一对一映射。(请注意,我对一对多映射没有这个问题) 用户实体 员额1 我还读到spring.jpa.open-in-view defualt值可能是罪魁祸首: 员额2 通过将添加到我的中,我禁用了默认的“在视图中打开”属性 我假设这是因为J