gpt4 book ai didi

java - 使用 hibernate 进行多个子插入的父表

转载 作者:行者123 更新时间:2023-12-01 13:52:40 26 4
gpt4 key购买 nike

我创建了一个使用 hibernate 继承和映射的应用程序。有一个名为 Payment 的父类和名为 Credit 的子类。是的,我正在尝试为一个父 ID 插入多个子值。如下图所示

|``````````````|
| Payment |
|--------------|
| id | nane |
|-----|--------|
| 1 | mod 1 |
|-----|--------|
| 2 | mod 2 |
|-----|--------|


|````````````````````````````````|
| Credit |
|--------------------------------|
| id | payid | type | mode |
|-----|--------|-------|---------|
| 1 | 1 | 1 | m1 |
|-----|--------|-------|---------|
| 2 | 1 | 4 | m6 |
|-----|--------|-------|---------|
| 3 | 1 | 5 | m5 |
|-----|--------|-------|---------|
| 4 | 1 | 1 | m7 |
|-----|--------|-------|---------|

我的代码如下所示(有关映射和其他详细信息,您可以检查 THIS )

Payment tabletcstatus=new Payment();
tabletcstatus.setName("name 123");
session.save(tabletcstatus);


Credit c=new Credit();
c.setMode("mode 1");
c.setPayid(tabletcstatus);
session.save(c);


Credit c1=new Credit();
c1.setMode("mode 2");
c1.setPayid(tabletcstatus);
session.save(c1);

但是当我执行时,我会执行以下内容

Hibernate: insert into hhh.payment (name) values (?)
Hibernate: insert into hhh.payment (name) values (?)
Hibernate: insert into credit (type, mode, payid) values (?, ?, ?)
Hibernate: insert into hhh.payment (name) values (?)
Hibernate: insert into credit (type, mode, payid) values (?, ?, ?)

此处付款插入三次,并且两次信用具有不同的 payid

任何人都可以告诉我一些解决方案吗?

最佳答案

嗯,你的映射有点“异国情调”,因为你有信用扩展付款,而付款也有信用的集合。我没有遇到过这种情况,但我想,如果这确实是您想要的,那么它应该可以工作。

关于第一个问题,您预计付款中有多少条目?您创建了三个“付款”1 x 付款和 2 x 积分,并使用连接表策略,因此 3 次插入是完全正确的。

关于java - 使用 hibernate 进行多个子插入的父表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19853445/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com