Как работать со списком объектов после запроса Hibernate против одного объекта - PullRequest
3 голосов
/ 21 октября 2010

После вызова list () в Hibernate Query, который вы ожидаете просто вернуть список объектов Foo (см. Пример ниже), как лучше вы справитесь с этой ситуацией?

Query query = session.createQuery("from Foo");
List list = query.list();

Мне не особо нравится видеть это:

public List read() { ... }

Когда я бы предпочел:

public List<Foo> read() { ... }

Ожидаете ли вы, что пользователи метода read читают?бросить в Foo для каждого элемента?Есть ли хороший способ заставить метод read вернуть List ?

1 Ответ

2 голосов
/ 21 октября 2010

Ожидаете ли вы, что вызывающие методы read будут приводить к Foo для каждого элемента?Есть ли хороший способ заставить метод read возвращать List ?

Нет, я не ожидал бы, что вызывающая сторона выполнит приведение, поэтому я бы написал такие вещи:

Query query = session.createQuery("from Foo");
List<Foo> list = query.list();

И если вы хотите удалить предупреждение о не тип-безопасном приведении (API Hibernate Query не является тип-безопасным):

Query query = session.createQuery("from Foo");
@SuppressWarnings("unchecked")
List<Foo> list = query.list();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...