我有一个类:
@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'时,对象将与空值合并,但仅适用于这两个字段(!)。我一点也不懂,所以我真的需要一点提示。
我忘了说我正在使用扩展实体管理器,在这种情况下,这是它的错误。