исключение в запросе постоянства - PullRequest
0 голосов
/ 05 февраля 2010

Я пытаюсь получить таблицу, используя постоянную среду

код, который я написал, находится в простом файле классов Java в веб-приложении

код в классе Java

EntityManager em = null;
    EntityManagerFactory emf = null;

public List fname (String id) {
    String fname = null;
    List persons = null;
    try {
        emf = Persistence.createEntityManagerFactory("WebApplicationSecurityPU");
        em = emf.createEntityManager();
        persons = em.createQuery("select r from Roleuser r").getResultList();
        int i=0;
        for (i=0;i<persons.size(); i++)
            System.out.println("Testing n "+ i +" " + persons.get(i));

    } catch(Exception e) {
        System.out.println("" + e);
    }
    finally {
        if(em != null) {
            em.close();
        }
    }
    return persons;
}

Но при запуске этого я получаю IllegalArgumentException полное исключение составляет

java.lang.IllegalArgumentException: An исключение произошло при создании запрос в EntityManager

Я думаю, что классы сущностей не инициализированы или не связаны с базой данных Вот почему IllegalArgumentException

1 Ответ

0 голосов
/ 07 февраля 2010

Я мог бы исправить это с некоторыми изменениями в коде

@PersistenceUnit
public EntityManagerFactory emf;
EntityManager em;


public List fname (String id) {
    String fname = null;
    List persons = null;
    //private PersistenceManagerFactory persistenceManagerFactory;

    try {
        emf = Persistence.createEntityManagerFactory("WebApplicationSecurityPU");

        em = emf.createEntityManager();
        persons = em.createQuery("select r from Roleuser r").getResultList();

        int i=0;
        for (i=0;i<persons.size(); i++)
            System.out.println("Testing n "+ i +" " + persons.get(i));

    } catch(Exception e) {
        System.out.println("" + e);
    }
    finally {
        if(em != null) {
            em.close();
        }
    }
    return persons;
}

Спасибо
Pradyut

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...