【问题标题】:hibernate when merging object sets field to null合并对象时休眠将字段设置为空
【发布时间】:2014-03-11 14:20:13
【问题描述】:

我有一门课:

@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 或变量声明上添加注释 - 没有任何变化。

当我将列设置为“可空”时,对象将与空值合并,但仅适用于这两个字段 (!)。我在这里一无所知,所以我真的需要一个提示。提前致谢。

【问题讨论】:

    标签: sql hibernate jpa merge


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-14
      • 2016-03-31
      相关资源
      最近更新 更多