问题标签 [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.
java - 在数据库中添加NULL
我是新来的冬眠。
我有两个类UserDetails和Address。这两者之间的关系是一对多。细节如下(跳过getter和setter)
UserDetails.java
地址.java
应用程序.java
在 hibernate.cfg.xml 属性 name="hbm2ddl.auto" 设置为更新运行上述代码后,数据库中的条目为
用户详细信息表
地址表
我的问题是为什么休眠在地址表中插入 UserDetails Address=NULL 和 City=NULL 而不是创建新表。
java - Hibernate 3级联都没有删除现有记录
我有 3 个 A、B 和 C 类。它们之间的关系是:
- 从 A 到 B 的一对多双向。
- C 扩展 B。
我可以添加新记录并编辑地址收集的现有记录,但我无法删除任何现有记录。
更新对象的代码
映射:
地址.hbm.xml
/li>参与者.hbm.xml
/li>
我也尝试使用 cascade="all,delete-orphan" 但它也抛出错误“拥有的实体实例不再引用具有 cascade=”all-delete-orphan” 的集合”
java - 不要使用 cascade="all-delete-orphan" 更改对集合的引用
我收到一个错误:
不要使用 cascade="all-delete-orphan" 更改对集合的引用
在尝试以下操作时:
父母和孩子通过one-to-many
cascade = ' all-delete-orphan
' 相关联。
知道为什么会抛出这个异常吗?即使实体处于分离状态,为什么在主键上设置 null 会导致此异常?
hibernate - 为什么要在hibernate中使用关联?
我已经做了很多谷歌搜索,但我仍然不明白为什么我应该在休眠中使用关联?我设法在不提及一对多或任何其他关联的情况下做事。我总是可以使用某些连接条件对表进行笛卡尔积,而无需显式使用休眠连接。如果我不使用它们,我会错过什么?如果有的话,请说出它们的优点或缺点。谢谢你。
c# - 将一对多的 nhibernate property-ref 设置为主键以外的属性失败
仅当我在我的 xml 文件中设置 property-ref 时,我才会收到此异常。
Initializing[Domain.Entities.R#12345] - 无法延迟初始化角色集合:Domain.Entities.R.LP,没有会话或会话已关闭
我不明白为什么 lp2 设置得很好,但 lp 失败了?我知道数据模型并不理想,但这是我现在必须使用的。如果我从 nhprof 中的 xml 文件中删除 property-ref,我会看到它调用 SQL 表(使用错误的值,所以我没有返回数据),但它没有失败。这只发生在我设置了 property-ref 时。
任何帮助将不胜感激。这是我第一次与 NH 合作。
spring - OneToMany 创建失败并出现 InvalidDataAccessApiUsageException
我对 Hibernate 还很陌生,并且一直在使用手册和在线论坛,但我对这个问题感到困惑。我正在使用带有 Hibernate 4 和注释的 Spring 3.2。我有一个一对多的父 (PledgeForm) 和子 (PledgeFormGiftLevel) 表。
域/模型:父级
孩子
控制器(有一个图形,所以我有代码可以拉入文件):
服务:
道:
使用上面的代码,可以很好地选择和更新父/子记录。当我显示来自休眠的“跟踪”消息时,更新确实有这个关于孩子的跟踪消息,但是:
如果有子记录,create 总是会给出这个错误:
当我查看休眠日志时,我看到它根据瞬态对象更新父级和子级。然后它尝试刷新并找到孩子的持久副本,因此它回滚所有内容。
Hibernate 文档显示这比我的代码更简单,但我必须添加 fetch & cascade 值。我已经尝试过更改获取和级联值和放置(从 Hibernate 文档开始,然后添加),但是我尝试的其他所有操作仍然会导致创建失败并且通常也会导致更新失败。
我发现的许多论坛帖子都显示了 flush() 或 evict()。我不确定我正在使用的是 Hibernate 4 还是注释(我认为是 @Transactional),但我在我的代码中看不到它的位置。从 Hibernate 跟踪日志中,我可以看到在 saveOrUpdate() 方法中自动进行了刷新。
我还尝试删除表格和序列并重新开始。
任何关于让创建工作的建议都值得赞赏。如果您能指出我错过的特定文档,那也将不胜感激。
谢谢,邦妮
java - saveorupdate() 不更新hibernate中的集合(列表)一对多映射
班级Student
班级Phone
-> 映射文件Student.hbm.xml
-> 映射文件Phone.hbm.xml
当我尝试更新电话号码(列表)时,前一个条目不会被删除,但 idx(列表索引)和外键为空,并且新条目标有正确的 idx 和外键!!另一个数据(不是列表)完全更新。在这里,我从数据库中获取类对象,对其进行修改并将对象传递给saveorupdate()
,但没有帮助。一直在尝试这个。
阅读和更新代码:
sql-server - DB Unit TypeCastException
I'm trying to setup unit tests for my simple application, but when setting up my test data, I always get a TypeCast error.
Here the needed info:
1) Database schema:
2) Java objects corresponding to the tables:
3) Dataset xml file
4) The test that I'm trying to execute:
5) The error that I'm getting:
Any idea about what I'm doing wrong?
Thanks a lot!!!
java - 休眠一对多关系
我遇到了休眠 OneToMany 关系的问题。由于某种原因,hibernate 无法以正确的方式保存关系。这是两个类:
二等:
该问题仅发生在 Project 和 Workingpackage 之间的 OnetoMany 关系中。由于某种原因,hibernate 没有正确保存数据库中的对象,工作包表中缺少 projectID,因此没有链接。
编辑:我之前有getter和setter,现在发布了整个课程......
编辑2:
二等:
为我工作....
java - 休眠中的双向映射
我有两个表,quote 和quotation_item。它们之间存在一对多的关系。我的要求是,当我这样做时quotation.setQuotationItem(set)
,应该删除映射到引用的旧quotationItem,并且应该将 set 中的quotationItems 映射到引用。
/ * ** 我的报价 pojo 就像* ** * /
/ * ** QuotationItem POJO * *** /
/ * * 报价单.hbm * ** * **** /
/ ** QuotationItem.hbm * ** * ** /
我的表格结构就像报价单
quotation_id
code
client_name
我的 Quotation_item 表结构
id
quotation_id
item_name
rate
qty