无法解析CAST请求的类型:bigint

时间:2018-03-26 03:41:33

标签: java postgresql hibernate jpa

我有一个案例,我的hibernate实体类有字符串字段,postgres有相同字段的bigint类型。当我尝试对该字段执行查询时,它会抛出“不兼容的类型”。当我尝试将实体字段转换为bigint(cast(fieldname as bigint))时,我遇到异常。 '无法解析CAST请求的类型:数字'..有人可以帮忙吗?

以下是代码段。

@Entity
@Table(name=“CB_MSG”)
public class Chargeback {
....
....

@Column(name="CHRGBK_MSG_SEQ_NUM")
    @Id
    @SequenceGenerator(name="CB_ID", sequenceName="OB_CHRGBK_MSG_SEQ", allocationSize = 1)
    @GeneratedValue(generator="CB_ID", strategy = GenerationType.SEQUENCE)
    public int getId() {
        return id;
    }
@Column(name="CB_REF_NUM”)
    public String getChargeBackReferenceNo() {
        return chargeBackReferenceNo;
    }
.....
}

此属性在postgres表中定义为bigint,我试图查询如下。

@Override
    public Chargeback getChargebackById(String chargebackRefNum) {
       String finalQuery= "FROM Chargeback CB WHERE cast(CB.chargeBackReferenceNo as bigint) = “ + chargebackRefNum;

        Chargeback result = (Chargeback) entityManager.createQuery(finalQuery).getSingleResult();
        return result;
    }

PS:我无法控制数据库架构,也无法对其进行任何更改。

0 个答案:

没有答案