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 | |
+------------------------------+------------+------+-----+---------+-------+