问题标签 [hibernate-onetomany]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring - 使用一对多映射保存对象时出现 Spring + Hibernate id 问题
我在使用 Hibernate 4 和 Spring 3 时遇到问题。我也在使用 BoneCP。我正在尝试保存包含许多图像的文章,并且效果很好。但是,当我尝试获取任何图像的 ID 时,它返回 0。但是,在数据库中,一切都保存得很好。我猜问题出在关系持续存在或我对 Hibernate 的理解中,因为执行后 id 是有效的,但我找不到它。
我的文件: spring-hibernate.xml
AbstractDAO.java
ImageDAO.java
文章DAO.java
图像.java
文章.java
我正在使用以下代码进行测试:
数据库查询:
编辑:
如果我尝试获取文章 a 的 ID,它会返回有效的 id (1)。
nhibernate - 流利的 nhibarnate 不会删除 orpahns
我发现了一些类似的线程,但都得到了我的代码作为答案。
我正在使用一对多关系。
父映射:
孩子是:
父亲有一个孩子的名单。一切正常 - 插入和更新。但是由于某种原因,当我清空父亲中的列表或只想删除列表项时,它不会从数据库中删除子项。即使列表为空。
这就是我更新的方式:
我在这里做错了吗?
json - Hibernate @OneToMany 关系导致无限循环或 JSON 结果中的空条目
我有两个实体,一个实体“电影”和一个实体“剪辑”,每个剪辑属于一部电影,一部电影可以有多个剪辑。
我的代码如下所示:
正在生成表格,每个剪辑都有一列“movie_id”,但这会导致我的应用程序在我请求数据时进入无限循环
当我请求剪辑时,结果相同。
当我将其更改为 @ManyToMany 关系时,不会出现任何这样的问题,但这不是我需要的。你能帮助我吗?将 fetchType 设置为 Lazy 不起作用。
编辑:我正在使用当前的 JBoss 开发工作室
编辑:
通过阅读这篇文章,我“解决了”这个问题:
http://blog.jonasbandi.net/2009/02/help-needed-mapping-bidirectional-list.html
“要将双向一对多映射,将一对多作为拥有方,您必须删除 mappedBy 元素并将多对一 @JoinColumn 设置为可插入且可更新为 false。此解决方案显然未优化并且会产生一些额外的 UPDATE 语句。”
当我请求一部电影时,我得到以下答案:
{"id":1,"version":1,"name":"MGS Walkthrough","filename":"video.mp4","movieCategories":[{"id":1,"version":1, "name":"Walkthrough"}],"clips":[],"description":"Trailer zu mgs4"}
条目“剪辑”仍然出现。这仍然是错误的解决方案还是我只能忍受这个?
hibernate - 在一对多映射中使用休眠条件(以行表列作为搜索条件之一的搜索标题表)
我有两个类 InvoiceHeader 和 InvoiceLine,它们之间具有一对多(一个 InvoiceHeader 映射到多个 InvoiceLine)映射。
现在我想根据 InvoiceHeader.title 和 InvoiceLine.itemId 搜索 InvoiceHeaders。有没有办法我可以使用休眠标准来搜索它。基本上在使用休眠标准时,我不确定如何将 InvoiceLine.itemId 放入 InvoiceHeader 的标准中。如果使用标准无法做到这一点,请建议我采取其他方法。
提前致谢
nhibernate - 查询时 NHibernate HasMany List 保持为空
我有一个奇怪的问题:每当我查询具有 IList 的实体时,它仍然是空的。可以查询语言实体本身...这与我的复合键有关吗?
NHProf 显示 BOTH 实体都被 sql 查询,但由于某种原因,结果没有链接:-/
这是一些代码:
对应的映射:
为了完整起见,这就是“语言”的映射方式:
无论我改变什么,我的员工实体总是显示language = {}
!?这真的让我发疯,我找不到错误。我确保执行查询语言的 sql!我确保数据在数据库中。而且因为我使用的是fluent,我还检查了创建的hmb:
希望有人可以对此有所了解...在此先感谢!
问候,马丁
hibernate - 具有外键的单向 OneToMany 不会插入到表中
我有以下课程:
'PARENT_ID' 是“CHILD”表中的外键。因此它使“CHILD”表具有 2 列形成其 PRIMARY_KEY。
我执行以下插入:
如果两个表都是空的,它会通过分配 PARENT_ID 正确创建“父”和“子”!但是如果表中已经存在“子”条目,它会执行更新而不是插入!
请注意,两个“孩子”具有相同的“类型”(“1,2,3,4”),但它们应该具有不同的“PARENT_ID”。
我在这里想念什么???
谢谢 !
java - 休眠 OneToMany 和 ManyToOne?
在 Hibernate 中,您可以分别指定一对多或反向多对一的通孔@OneToMany
或@ManyToOne
注释。但是在我看到的示例中,每次将 A 与 B 关联时,您还需要将 B 与 A 关联。例如,如果Teacher
与(一个老师可以教很多课程)有一对多的关系Course
,我是否需要:
也:
还是仅将它们单向关联就足够了(从而允许您选择上述一组关系)?换句话说,我可以通过以下方式将它们联系起来:
为什么/为什么不?提前致谢!
java - 无法在休眠中删除 OneToMany 关系的实例
我有一个 OneToMany 关系,我可以插入记录但不能删除它们,当我尝试删除它时会遇到“外键约束失败”错误。我已经使用以下级联删除孤儿,但还没有工作。
父类的成员具有以下 getter
成员类的父类具有以下 getter
我也使用了以下注释但没有用
我的休眠依赖如下
我删除消息的代码
nhibernate-mapping - 在休眠中以一对多关系从父表中删除记录
我有以下情况:一张客户表可以有很多项目。这种关系是双向的。
我正在尝试从客户列表中删除客户,如果客户已经分配了一些项目,我得到了一个例外:
“我无法删除或更新父行:外键约束失败”
这意味着我必须先删除相关项目。
但是,我需要针对这种情况的解决方案,并且我认为问题与映射文件有关。以下是映射文件:
还有孩子:
hibernate - 休眠 4.2 OneToMany EntityNotFoundException
我遇到了一个在 SO 上似乎很普遍但找不到解决方案的异常。
我有两节课。Document
和Keyword
。每个文档都包含许多关键字。
可能会使事情复杂化,这些类用于使用 Moxy 解组 xml 文档。我假设@XmlTransient
不会干扰休眠。
这是Document.java
这是Keyword.java
保存时遇到的例外Document
是,
将不胜感激任何帮助,谢谢。/w