我有:@Column(name="UserType",nullable=false)@Enumerated(EnumType.STRING)privateUserTypeuserType;如何使用addScalar()方法通过SQL请求返回该字段? 最佳答案 这是将枚举添加到SQLQuery的方式您定义一个属性对象Propertiesparams=newProperties();params.put("enumClass","UserType");params.put("type","12");/*EnumType.STRINGty
我使用的是Hibernate3.6,我有这样的代码:list=getSession().createSQLQuery(queryString).addScalar("UNAME",Hibernate.STRING).addScalar("COM",Hibernate.STRING).addScalar("COM_DATE",Hibernate.DATE).setString("id",Id).list();现在我将jar从3.6更改为4.1Final似乎addScalar方法要求输入Type而不是Hibernate.STRING我找不到任何热的例子来解决这个问题。如果有谁知道请帮助我谢
我使用的是Hibernate3.6,我有这样的代码:list=getSession().createSQLQuery(queryString).addScalar("UNAME",Hibernate.STRING).addScalar("COM",Hibernate.STRING).addScalar("COM_DATE",Hibernate.DATE).setString("id",Id).list();现在我将jar从3.6更改为4.1Final似乎addScalar方法要求输入Type而不是Hibernate.STRING我找不到任何热的例子来解决这个问题。如果有谁知道请帮助我谢
JavaDoc说:SQLQueryorg.hibernate.SQLQuery.addScalar(StringcolumnAlias,Typetype)Declareascalarqueryresult我知道C#中的executeScalar是什么,但是这个标量和C#标量似乎完全不同。 最佳答案 这声明您希望查询结果返回单个命名列的对象,而不是实体。比如createSQLQuery("SELECTCOUNT(*)AScFROMUsers").addScalar("c").uniqueResult()将返回单个Long。如果您指定多