Sea*_* M. 3 java sql hibernate
我有一个SQL查询,我想映射到一个类.我正在使用Hibernate的createSQLQuery,然后使用Result Transformer为我要映射的类.但是Hibernate抛出了这个错误:
ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/mypackage].[MyPackageServlet]]
Servlet.service() for servlet MyPackageServlet threw exception org.hibernate.HibernateException:
Could not instantiate resultclass: com.myapp.mypackage.context.report.MonthlyReportContext$MonthlyReport
at org.hibernate.transform.AliasToBeanResultTransformer.transformTuple(AliasToBeanResultTransformer.java:69)
Run Code Online (Sandbox Code Playgroud)
据我所知,这意味着我的构造函数是错误的.它设置为公开,它是空的.不知道我还需要做什么?
public class MonthlyReport
{
/** Some private properties defined here **/
public MonthlyReport(){}
/** setters and getters for all properties here **/
}
Run Code Online (Sandbox Code Playgroud)
从pgadmin运行时,SQL查询工作正常.在这里,我使用addScalar设置所有字段,因为类属性是camelCased.然后我使用setResultTransformer:
Query query = this.getSession().createSQLQuery(sql)
.addScalar("policy", Hibernate.STRING)
.addScalar("memberName", Hibernate.STRING)
.addScalar("premium", Hibernate.BIG_DECIMAL)
.addScalar("effectiveDate", Hibernate.DATE)
.addScalar("newOrRenewal", Hibernate.CHARACTER)
.addScalar("auditPayment", Hibernate.BIG_DECIMAL)
.addScalar("auditRecieveable", Hibernate.BIG_DECIMAL)
.addScalar("associationDues", Hibernate.BIG_DECIMAL)
.addScalar("expenseConstant", Hibernate.BIG_DECIMAL)
.addScalar("nsfFees", Hibernate.BIG_DECIMAL)
.addScalar("lossControl", Hibernate.BIG_DECIMAL)
.addScalar("premiumPayment", Hibernate.BIG_DECIMAL)
.addScalar("totalPaid", Hibernate.BIG_DECIMAL)
.addScalar("month", Hibernate.STRING)
.addScalar("installment", Hibernate.STRING)
.setResultTransformer(new AliasToBeanResultTransformer(MonthlyReport.class));
List<MonthlyReport> monthlyReport = query.setString("month", month)
.setString("startPayDate", month + "/" + cal.getActualMinimum(Calendar.DAY_OF_MONTH) + "/" + year)
.setString("endPayDate", month + "/" + cal.getActualMaximum(Calendar.DAY_OF_MONTH) + "/" + year)
.setString("fundYear", fundYear)
.list();
Run Code Online (Sandbox Code Playgroud)
任何帮助是极大的赞赏.我继承了这个项目,之前从未使用过Java或Hibernate,这是一个很大的代码库.这可能是我正在犯的一个新手错误.
| 归档时间: |
|
| 查看次数: |
4407 次 |
| 最近记录: |