JPQL Просмотр возврата дубликатов - PullRequest
2 голосов
/ 13 апреля 2011

Я создал объект Java (в Eclipse) на основе представления, которое я настроил в своей базе данных. Настройка объекта работает так, как было проверено на моем сервере Glassfish, а также с помощью приложения Flex, которое я запускаю и которое ссылается на методы и классы развернутого веб-сервиса.

Единственная проблема - правильное количество строк, но возвращаемые значения являются дубликатами! Я не могу понять, почему это происходит, и почти ничего не нашел при ссылках на представления в сети, кроме того, что он должен работать почти так же, как таблица ... он работает, но возвращает дубликаты!

В качестве теста я создал таблицу со всеми теми же столбцами / данными и т. Д., Что и в представлении, и указал на объект JPA - вуаля ... без дубликатов!

Кто-нибудь знает, что я здесь не так делаю, пожалуйста?

Вот код!

EntityManager em = null;
BigDecimal pId = new BigDecimal(conId);


try {
em = emf.createEntityManager();
String applicationQueryString = "select c from VDisc c where c.dCorId = :conId";

Query contdetQuery = em.createQuery(applicationQueryString);
contdetQuery.setParameter("conId",pId);

List list = contdetQuery.getResultList();
VDisciplines[] disc = new VDisciplines[list.size()];
disc = (VDisciplines[]) list.toArray(disc);

return disc;

1 Ответ

3 голосов
/ 13 апреля 2011

Как вы сопоставили свою сущность с представлением и что вы определили как идентификатор? Кроме того, как вы определяете / выполняете запрос?

Если вы определите какое-то поле, которое не является уникальным, как Id, то вы получите дубликаты объектов для того же Id.

Вы можете попробовать использовать собственный запрос SQL для необработанных данных, чтобы убедиться, что они правильно возвращаются из базы данных.

...