0

Javaでこのエラーメッセージが表示されます。

どうすればこれを修正できるか知っていますか?

HTTP Status 500 - Filter execution threw an exception

タイプException report

メッセージFilter execution threw an exception

説明The server encountered an internal error that prevented it from fulfilling this request.

例外

javax.servlet.ServletException: Filter execution threw an exception
root cause

java.lang.Error: Unresolved compilation problem: 
The method createNamedQuery(String) in the type EntityManager is not applicable for the arguments (String, Class<User>)

bg.tu_sofia.cinema.dao.UserDAOImpl.getAllUsers(UserDAOImpl.java:22)
bg.tu_sofia.cinema.dao.UserDAOImpl.usernameExists(UserDAOImpl.java:52)
bg.tu_sofia.cinema.filters.UserReconcilerFilter.doFilter(UserReconcilerFilter.java:54)
note The full stack trace of the root cause is available in the SAP logs.

userDOAImpl

package bg.tu_sofia.cinema.dao;

import java.util.List;

import javax.persistence.EntityManager;

import bg.tu_sofia.cinema.entities.Cinema;
import bg.tu_sofia.utils.EntityManagerUtils;

public class CinemaDAOImpl implements CinemaDAO {

    private EntityManager em;
    private EntityManagerUtils dbUtils;

    public CinemaDAOImpl() {
        this.dbUtils = EntityManagerUtils.getInstance();
        this.em = dbUtils.getEntityManagerInstance(); 
    }

    public List<Cinema> getAllCinemas() {
        return em.createNamedQuery("AllCinemas", Cinema.class).getResultList();
    }

    public Cinema getCinemaByID(long id) {
        return em.find(Cinema.class, id);
    }

    public void addCinema(Cinema cinema) {
        dbUtils.startTransaction(em);
        em.persist(cinema);
        dbUtils.commitTransaction(em);
    }

    public void removeCinema(Cinema cinema) {
        //TODO : don't forget when removing a cinema to remove all its related screenings.
        dbUtils.startTransaction(em);
        em.remove(cinema);
        dbUtils.commitTransaction(em);
    }

    public void removeCinemaByID(long removalID) {
        removeCinema(getCinemaByID(removalID));
    }

}
4

3 に答える 3

0

NamedQuery "AllCinemas" はどこにありますか?

1 つのリンク: http://web.securityinnovation.com/appsec-weekly/blog/bid/69739/Use-Named-Queries-with-Java-Persistence-API-JPA

お役に立てれば

于 2013-06-29T21:39:38.603 に答える
0

受け付けない引数でメソッドを呼び出しているようです。ソースコードを見せていただけると助かります。

于 2013-06-29T21:09:44.247 に答える