Проблемы с БД Java-запросов. используя спящий режим и Struts2 - PullRequest
0 голосов
/ 04 октября 2011

Я вхожу в 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 Ответ

1 голос
/ 04 октября 2011

DAO, вероятно, выполняет запрос как

select u from User u where ...

Измените запрос на

select u.name from User u where ...

Конечно, вместо List<User> в результате вы получитеa List<String>.

Это базовый материал, описанный в справочной документации Hibernate .Вы читали это?

Кроме того, получение сеанса из DAO и закрытие его вручную, как показано, показывает проблему проектирования.Это должно быть инкапсулировано сервисным уровнем или, что еще лучше, декларативной обработкой транзакций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...