Как проверить тип списка пользователей, возвращаемых из объекта Query в Hibernate? - PullRequest
1 голос
/ 29 декабря 2011

Для извлечения данных из базы данных с использованием Hibernate, я использую следующий синтаксис:

Query query = session.createQuery("from User where name=? and password=?");
query.setString(0,user.getName());
query.setString(1,user.getPassword());

List list = query.list();           // Line 1

В строке 1 отображается предупреждение: "Список - это необработанный тип. Ссылки на универсальный тип Список должен быть параметризован."

Теперь, если я добавлю генерики, используя:

List<User> list = (List<User>) query.list();

Это снова выдаст предупреждение: " Непроверенное преобразование типов. "

Как проверить тип списка пользователей?

Ответы [ 2 ]

2 голосов
/ 29 декабря 2011

Я не уверен, но мне кажется, что все в порядке.

Возможно, вы захотите использовать

@SuppressWarnings (value="unchecked")
1 голос
/ 29 декабря 2011

Информация о типе параметра шаблона стирается во время выполнения.Это называется тип стирания .Итак, вам просто нужно заранее знать тип, на который вы применяете.Чтобы избежать предупреждения компилятора, вы можете использовать @SuppressWarnings("unchecked").

Также вы можете попробовать Hibernate Typesafe Criteria , посмотрите здесь .

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