在数据库里查出来正确的三行数据,
而在dao层里,查出来的却是 三行重复的第一条数据。
我把hql改成原生sql后还是一样的。
dao层的方法:
public List<Vitemview> showview(int vsid) {
List<Vitemview> view = HibernateSessionFactory.getSession()
.createSQLQuery("select * from VITEMVIEW where VS_ID=?")
.addEntity(Vitemview.class).setInteger(0, vsid).list();
return view;
}
生成的sql:
Hibernate:
select
*
from
VITEMVIEW
where
VS_ID=?
VITEMVIEW 是我先写好的视图
你这个VS_ID是主键吗?如果是主键,怎么可能查出3条数据
这是视图 vs_id 是 subject 的主键
视图包含了 option item subject 三张表
。
我今天把addentity去掉了 就能正确查询 ,但是查出来是 object[]类型的