我创建了一个使用休眠继承和映射的应用程序。有一个名为 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 |
|-----|--------|-------|---------|
我的代码如下所示(有关映射和其他详细信息,您可以查看 此)
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
谁能告诉我一些解决方案。