Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java &引用;“不允许为空”;两个@OneToMany';他坐在同一张桌子上_Java_Hibernate - Fatal编程技术网

Java &引用;“不允许为空”;两个@OneToMany';他坐在同一张桌子上

Java &引用;“不允许为空”;两个@OneToMany';他坐在同一张桌子上,java,hibernate,Java,Hibernate,我有一个如下所示的类: @Entity public class MarketSettlement extends BaseEntity { @OneToMany(cascade=CascadeType.ALL) private Set<FinancialTransaction> commissionPaid; @Setter @OneToMany(cascade=CascadeType.ALL) private Set<FinancialT

我有一个如下所示的类:

@Entity
public class MarketSettlement extends BaseEntity {

    @OneToMany(cascade=CascadeType.ALL)
    private Set<FinancialTransaction> commissionPaid;

    @Setter @OneToMany(cascade=CascadeType.ALL)
    private Set<FinancialTransaction> dividends;
}
因此,当我尝试在没有任何事务的情况下持久化记录时,会得到一个
DataIntegrityViolationException:

org.springframework.dao.DataIntegrityViolationException:NULL非空 “佣金已付\交易ID”列允许


正确的配置方法是什么,允许股息交易,但不允许佣金交易?

您可以使用@JoinTable为您的佣金支付和股息部分创建单独的表。

您可以使用@JoinTable为您的佣金支付和股息部分创建单独的表。@dinukadev谢谢。。。这就是我最后做的。介意将此作为答案发布,以便我可以接受吗?完成。很高兴知道我们都同意相同的解决方案:)
+------------------------------+------------+------+-----+---------+-------+
| Field                        | Type       | Null | Key | Default | Extra |
+------------------------------+------------+------+-----+---------+-------+
| MarketSettlement_id          | bigint(20) | NO   | PRI | NULL    |       |
| dividends_transactionId      | bigint(20) | NO   | UNI | NULL    |       |
| commissionPaid_transactionId | bigint(20) | NO   | PRI | NULL    |       |
+------------------------------+------------+------+-----+---------+-------+