我在这里进入java。同时有趣和令人沮丧:)
我有一个名为showUsernames()的简单方法:
public String showUsernames(){
TimesheetUserDAO su = new TimesheetUserDAO();
Session session = su.getSession();
setUsers(su.findByUsername(_users));
session.close();
return SUCCESS;
}
...但是,我有时间从数据库中获取用户名。 Hibernate DAO可以正确使用它吗?我能够使用su.findAll()并返回所有内容。
有什么想法?需要更多代码?谢谢:))
答案 0 :(得分:1)
DAO可能会执行像
这样的请求select u from User u where ...
将查询更改为
select u.name from User u where ...
当然,结果不是List<User>
,而是List<String>
。
这是Hibernate reference documentation中描述的基本内容。你看过了吗?
此外,从DAO获取会话并手动关闭它会显示设计问题。这应该由服务层封装,或者更好的是由声明性事务处理封装。