Sql 合并对象时休眠将字段设置为空
我有一节课是这样的:Sql 合并对象时休眠将字段设置为空,sql,hibernate,jpa,merge,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 D
@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
}
问题是,当我创建事务对象并填充数据,然后我希望它合并时,hibernate将其与字段AMOUNT\u COST和BANKACCOUNT合并,并将其设置为null。我使用调试器进行了检查-我要合并的对象正确填充了数据,AMOUNT_COST设置为0.0,BANKACCOUNT正确
我不知道这里可能有什么问题:
-我仔细检查了列名
-我仔细检查了我的sql表和数据类型
-我试图在getter或变量声明上添加注释,但没有任何更改
当我将列设置为“nullable”时,对象将与null值合并,但仅针对这两个字段(!)。我在这里不懂,所以我真的需要一个提示。提前谢谢。哈。我忘了提到我使用的是ExtendedEntityMenager,在本例中,这是它的错