Java查询数据库问题。使用hibernate和struts2

时间:2011-10-03 21:33:51

标签: java hibernate

我在这里进入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()并返回所有内容。

有什么想法?需要更多代码?谢谢:))

1 个答案:

答案 0 :(得分:1)

DAO可能会执行像

这样的请求
select u from User u where ...

将查询更改为

select u.name from User u where ...

当然,结果不是List<User>,而是List<String>

这是Hibernate reference documentation中描述的基本内容。你看过了吗?

此外,从DAO获取会话并手动关闭它会显示设计问题。这应该由服务层封装,或者更好的是由声明性事务处理封装。