java spring-mvc,sql多表查询,将查询结果放入一个临时定义的class中,怎么执行语句

public class UserTemp {
Long id;
String username;
String enterDate;
String classify;
String email;
int attentionNum;
int gemNum;
int appraisalNum;
int messageNum;
Date loginTimes;
Date lastLogin;
int receiveNum;

String SQL8="SELECT u.id as id, u.enter_date AS enterDate,u.username as username,u.email as email,u.attention_num as attentionNum,u.gem_num as gemNum,u.appraisal_num as appraisalNum,u.login_times as loginTimes,u.last_login as lastLogin,COUNT(m.receive_num) as receiveNum,a.target as target FROM tb_users as u LEFT JOIN tb_massage_relation as m ON u.id = m.to_user_id LEFT JOIN tb_authorizations as a ON u.id=a.bind_user_id WHERE u.activ_email='0'";

if(enterDateStart!=null){
SQL8 += " AND u.enterDate >? ";
params.add(enterDateStart);
}
if(enterDateEnd!=null){
SQL8 += " AND u.enterDate < ? ";
params.add(enterDateEnd);
}

if (StringUtils.isNotBlank(username)) {
SQL8 += " AND u.username = ? ";
params.add(username);
}
if (StringUtils.isNotBlank(email)) {
SQL8 += " AND u.email = ? ";
params.add(email);
}
if (StringUtils.isNotBlank(classify) && !StringUtils.equals("#", classify)) {
SQL8 += " AND a.target = ? ";
params.add(classify);
}
SQL8 += " GROUP BY m.to_user_id ";
System.out.println(SQL8);
return findListBySQL(SQL8, UserTemp.class);

错误:Caused by: org.hibernate.MappingException: Unknown entity: _360gem.admin.entity.user.UserTemp

第1个回答  2013-08-13
有一个可行的方法,首先是类的属性和字段是对应的,
然后 DAO先取得一个List<Map>,再用反射,将字段和类对应起来。
返回给上层的应用。追问

不太懂,能不能举个例子啊

第2个回答  推荐于2017-08-28
java spring-mvc,sql多表查询,将查询结果放入一个临时定义的class中,怎么执行语句
,这是实体类,用hibernate,他和数据库里面的表的列应该是对应的,你查出来的字段需要在实体类里面对应,你自己看看,a.target as target 他对应的属性都没有 ,maping绝对报错本回答被网友采纳
第3个回答  2013-08-16
你配置web.xml拦截器,需要执行 UserTemp的时候(UserTemp改为servlet类型的),就让被拦截到就好了,拦截到就会执行。
你这个错误肯定会有,实体类要和表对应的,思路好像不太对头。。。
个人观点。。
第4个回答  2013-08-22
大哥,这是实体类,用hibernate,他和数据库里面的表的列应该是对应的,你查出来的字段需要在实体类里面对应,你自己看看,a.target as target 他对应的属性都没有 ,maping绝对报错

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网