当合并对象集字段为空时Hibernate



我有一个类:

@Entity
@Table(name = "TRANSACTIONS")
public class Transaction {
    @Id
    @Column(name = "TX_ID")
    private Long id;
    @Basic
    @Column(name = "AMOUNT")
    private Double amount;
    @Column(name = "AMOUNT_COST")
    private Double amountCost;
    @NotNull
    @Column(name = "AMOUNT_TAX")
    private Double amountTax;

@NotNull
@Column(name = "BANKACCOUNT")
private String bankAccount;
//getters and setters here
    }

问题是,当我创建Transaction对象,并填写数据,然后我想要合并,hibernate合并它与字段AMOUNT_COST和BANKACCOUNT设置为null。我用调试器检查了—我想要合并的对象正确地填充了数据,AMOUNT_COST设置为0.0并且BANKACCOUNT是正确的。

我不知道这里可能有什么问题:-我仔细检查了列名-我仔细检查了我的sql表和数据类型-我尝试在getter或变量声明上添加注释-没有任何变化。

当我将列设置为'nullable'时,对象将与空值合并,但仅适用于这两个字段(!)。我一点也不懂,所以我真的需要一点提示。

我忘了说我正在使用扩展实体管理器,在这种情况下,这是它的错误。

最新更新