java spring-mvc,sql多表查询,将查询结果放入一个临时定义的class中,怎么执行语句
publicclassUserTemp{Longid;Stringusername;StringenterDate;Stringclassify;Stringemail;...
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 展开
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 展开
4个回答
2013-08-13
展开全部
有一个可行的方法,首先是类的属性和字段是对应的,
然后 DAO先取得一个List<Map>,再用反射,将字段和类对应起来。
返回给上层的应用。
然后 DAO先取得一个List<Map>,再用反射,将字段和类对应起来。
返回给上层的应用。
追问
不太懂,能不能举个例子啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
java spring-mvc,sql多表查询,将查询结果放入一个临时定义的class中,怎么执行语句
,这是实体类,用hibernate,他和数据库里面的表的列应该是对应的,你查出来的字段需要在实体类里面对应,你自己看看,a.target as target 他对应的属性都没有 ,maping绝对报错
,这是实体类,用hibernate,他和数据库里面的表的列应该是对应的,你查出来的字段需要在实体类里面对应,你自己看看,a.target as target 他对应的属性都没有 ,maping绝对报错
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你配置web.xml拦截器,需要执行 UserTemp的时候(UserTemp改为servlet类型的),就让被拦截到就好了,拦截到就会执行。
你这个错误肯定会有,实体类要和表对应的,思路好像不太对头。。。
个人观点。。
你这个错误肯定会有,实体类要和表对应的,思路好像不太对头。。。
个人观点。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
大哥,这是实体类,用hibernate,他和数据库里面的表的列应该是对应的,你查出来的字段需要在实体类里面对应,你自己看看,a.target as target 他对应的属性都没有 ,maping绝对报错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询