Я пытаюсь выбрать все элементы в таблице под названием «Evento» (база данных была создана с помощью кода, и таблицы имеют одинаковые имена моделей). С другими моделями, использующими подобный код, у меня не было никаких проблем. Когда я пытаюсь с этой таблицей мы получаем эту ошибку в консоли:
[WARNING] /EventiController
java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: evento is not mapped [select c from evento]
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:138)
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:181)
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:188)
at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:718)
at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:809)
at org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:23)
at business.UtenteAppManager.visualizzaTuttiEventi(UtenteAppManager.java:47)
at controller.EventiController.doGet(EventiController.java:48)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder$NotAsyncServlet.service(ServletHolder.java:1386)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:755)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1617)
Это модель:
@NamedQueries(
{
@NamedQuery(
name = "cercaEventiPerOrganizzatore",
query = "select c from Evento c where c.organizzatore= :username"
),
@NamedQuery(
name = "cercaEventiPerPartecipante",
query = "select c from Evento c where c.partecipanti= :username"
),
@NamedQuery(
name = "cercaEventi",
query = "SELECT c FROM Evento c "
)
}
)
@Entity
public class Evento {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id_evento;
@OneToOne
private UtenteApp organizzatore;
private String nomeEvento;
@Temporal(TemporalType.DATE)
private Date dataEvento;
}
Это метод в бизнес-классе
public List<Evento> visualizzaTuttiEventi(){
List<Evento> _return= new ArrayList<Evento>();
EntityManager em = JPAUtil.getInstance().getEmf().createEntityManager();
_return=em.createQuery("select c from evento",Evento.class).getResultList();
em.close();
return _return;
}