将对象集字段合并为null时进行休眠

时间:2014-03-11 14:20:14

标签: sql hibernate jpa merge

我有一节课:

@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'时,该对象将与空值合并,但仅适用于这两个字段(!)。我在这里一无所知,所以我真的需要一个提示。提前谢谢。

1 个答案:

答案 0 :(得分:0)

公顷。我忘了提到我正在使用扩展实体menager,在这种情况下,这是它的错。