Эта ошибка возникает из одного моего джерси-GlassFish покоя конечной точки (из журналов домена):Hibernate ошибка запроса с коллекцией определяется как совокупность
вызвано следующими причинами: java.lang.IllegalArgumentException: Тип указано для TypedQuery [ com.tanukis.streetama.entity.Flow] несовместим с типом возвращаемого запроса [interface java.util.Set] at org.hibernate.ejb.AbstractEntityManagerImpl.createNamedQuery (AbstractEntityManagerImpl.java:458) на com.sun.enterprise. container.common.impl.EntityManagerWrapper.createNamedQuery (EntityManagerWrapper.java:566) at com.tanukis.streetama.dao.FluxManager.getBlacklist (FluxManager.java:571)
Запрос определяется в orm.xml:
SELECT DISTINCT s.blacklistedFlow FROM StreetamaUser s WHERE s.uid = :uid
Вот мой StreetamaUser сущность:
@ManyToMany(cascade= javax.persistence.CascadeType.ALL)
@JoinTable(
name="ws_user_blacklist",
uniqueConstraints = @UniqueConstraint(columnNames = { "blacklisted_flow_id", "user_id" }),
joinColumns = {
@JoinColumn(name="user_id",referencedColumnName="uid")
},
inverseJoinColumns = {
@JoinColumn(name="blacklisted_flow_id",referencedColumnName="id")
}
)
@XmlTransient
private Set<Flow> blacklistedFlow = new HashSet<Flow>();
И вызов запроса:
List<Flow> result = em.createNamedQuery("StreetamaUser.findBlacklist", Flow.class)
.setParameter("iduser", uid)
.setFirstResult(startitem)
.setMaxResults(itemnbr)
.getResultList();
я не могу понять исключение Hibernate. getResultList возвращает список, поэтому почему он жалуется на тип возвращаемого запроса?
Если вы проголосуете, скажите, почему ... Спасибо –