createSQLQuery()的addEntity()问题

Jack-Fang 2011-04-28 07:48:37
sql:
select s.id as id ,s.name as name,c.coursename as coursename ,c.score as score
from student as s,course as c
where s.id = c.id and s.id=1

在执行sess.createSQLQuery(sql).addEntity(StudentDetail.class).setInteger(0, id).list();是发生了

org.hibernate.MappingException: Unknown entity: com.vo.StudentDetail错误
at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:628)
at org.hibernate.loader.custom.sql.SQLQueryReturnProcessor.getSQLLoadable(SQLQueryReturnProcessor.java:335)
at org.hibernate.loader.custom.sql.SQLQueryReturnProcessor.processRootReturn(SQLQueryReturnProcessor.java:376)
at org.hibernate.loader.custom.sql.SQLQueryReturnProcessor.processReturn(SQLQueryReturnProcessor.java:355)
at org.hibernate.loader.custom.sql.SQLQueryReturnProcessor.process(SQLQueryReturnProcessor.java:171)

网上找了些资料说是hibernate的配置文件有问题,但是StudentDetail并不是底层的模型类,是我自己架构的,这个问题该怎么解决?在线等啊~
...全文
520 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
beowulf2005 2011-04-28
  • 打赏
  • 举报
回复
see
org.hibernate.transform.AliasToBeanResultTransformer

  List resultWithAliasedBean = s.createCriteria(Enrolment.class)
.createAlias("student", "st")
.createAlias("course", "co")
.setProjection( Projections.projectionList()
.add( Projections.property("co.description"), "courseDescription" )
)
.setResultTransformer( new AliasToBeanResultTransformer(StudentDTO.class) )
.list();
Spring89 2011-04-28
  • 打赏
  • 举报
回复
建议你这样写:session.createSQLQuery(sql).addScalar("id", Hibernate.INTEGER).list;
我看你的SQL也就一个id条件,就这样写,如果有多个条件继续在后面.addScalar();
这个方法的第一个参数要和你的条件顺序相对应!第二个参数类型也是要对应的!
比如:你有多个条件,但id并不是在第一个,然后用addScalar()时放在第一,会抛异常的!
Jack-Fang 2011-04-28
  • 打赏
  • 举报
回复
大家帮帮我 我很急啊~~~
Jack-Fang 2011-04-28
  • 打赏
  • 举报
回复
一定要建表吗? 可是并不会往表了存数据啊,StudentDetail只是页面需要临时架构的 ,有没有其他什么办法?
grubby4k 2011-04-28
  • 打赏
  • 举报
回复
建表 ~~~
Jack-Fang 2011-04-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yewuqing007 的回复:]

com.vo.StudentDetail没连接好?调试下
[/Quote]

? StudentDetail这个类是根据页面需要写的,在数据库中没有对应的表,也就是没有hibernate的映射文件,怎么办?
devin_jia 2011-04-28
  • 打赏
  • 举报
回复
com.vo.StudentDetail没连接好?调试下

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧