值为零时 OpenJPA 实体未更新

OpenJPA Entity not updated when value is zero

我遇到了一个实体问题,该实体的字段映射到数据库中的 INT 类型。问题是,当我将字段更新为一个值时,例如 1337,它正确地保存在数据库中,但当我将它设置为零时情况并非如此。

更具体地说:

有办法解决吗?

一点代码,更新者:

@Stateless
public class AClass {

    @EJB
    ARepository arepository;

    @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
    public void produceOutgoingMessage(int idOfOutputToProduce) {
        AnEntity anEntity = arepository.find(idOfOutputToProduce);
        //...
        doSomething(anEntity);
    }

    private void doSomething(AnEntity anEntity) {
        //...
        anEntity.setRecord(0); // record stays NULL in DB
        anEntity.setRecord(1337); // record is correctly set in DB
    }
}

实体:

@Entity
@Table(name = "MY_TABLE")
public class AnEntity {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "C_I_IDF")
    private Long id;

    @Column(name = "N_I_RECORD")
    private int record;

    public Long getId() {
        return this.id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public int getRecord() {
        return record;
    }

    public void setRecord(int record) {
        this.record = record;
    }
}

int”字段不应在数据库中配置为允许 NULL。这可能是问题的原因。修复它,它应该可以工作。

如果没有,则在 OpenJPA 中报告错误。