Hibernate 4.1Final替代Hibernate.STRING

kef*_*fet 50 java hibernate

我正在使用Hibernate 3.6,我有这样的代码:

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

现在我将jar从3.6更改为4.1Final

似乎addScalar方法要求Type而不是Hibernate.STRING我找不到任何热解决方案.如果有人知道请帮助我谢谢你.

Mik*_*unu 69

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

现在可以从类型的 javadocs中找到不同的Hibernate类型.在你的情况下,应该工作:

    .addScalar("UNAME", StringType.INSTANCE)
    .addScalar("COM", StringType.INSTANCE)
    .addScalar("COM_DATE", DateType.INSTANCE) 
Run Code Online (Sandbox Code Playgroud)

  • 而不是`Hibernate.STRING`也可以使用`StandardBasicTypes.STRING`,值是相同的(`StringType.INSTANCE`),也许这个更容易合并;-) (5认同)