Hibernate 4.1Hibernate.STRING的最终替代方案


问题内容

我正在使用Hibernate 3.6,其中有如下代码:

list =getSession().createSQLQuery(queryString)
        .addScalar("UNAME",Hibernate.STRING)
        .addScalar("COM",Hibernate.STRING)
        .addScalar("COM_DATE",Hibernate.DATE) 
        .setString("id", Id).list();

现在我将罐子从3.6更改为4.1

看来addScalar方法要代替Type来代替Hibernate.STRING我找不到任何解决此问题的示例。如果有人认识,请帮助我,谢谢。


问题答案:

HHH-5196导致org.hibernate.Hibernate中的类型字段被弃用(并实际上已删除)

现在可以从javadocs的Type中找到不同的Hibernate类型。在您的情况下,以下方法应该起作用:

    .addScalar("UNAME", StringType.INSTANCE)
    .addScalar("COM", StringType.INSTANCE)
    .addScalar("COM_DATE", DateType.INSTANCE)