Столбец ошибки в запросе по умолчанию в JPQL - PullRequest
0 голосов
/ 01 марта 2012

Я получаю следующую ошибку при заполнении данных из базы данных для Jtable:

Internal Exception: java.sql.SQLException: no such column: ERROR
Call: SELECT name, class, adm, year, dob, ERROR FROM STUDENTS

вот мой запрос:

entityManager = java.beans.Beans.isDesignTime() ? null :  javax.persistence.Persistence.createEntityManagerFactory("jdbc:sqlite:C:\\Users\\Xcoder\\De    sktop\\jtable\\school.dbPU").createEntityManager();
    studentsQuery = java.beans.Beans.isDesignTime() ? null :     entityManager.createQuery("SELECT s FROM Students s");
    studentsList = java.beans.Beans.isDesignTime() ? java.util.Collections.emptyList() : studentsQuery.getResultList();
    jScrollPane1 = new javax.swing.JScrollPane();
    jTable1 = new javax.swing.JTable();

У меня вопрос: где можно вызвать этот столбец ошибок?

1 Ответ

0 голосов
/ 21 февраля 2013

Содержит ли ваш объект Students поле error? Если это так, и если вы не отметили его как @Transient или что-то подобное, он будет использоваться в качестве столбца в вашем запросе.

Я также мог бы предложить немного очистить ваш код, например ::

if (Beans.isDesignTime()) {
    entityManager = Persistence.createEntityManagerFactory("jdbc:sqlite:C:\\Users\\Xcoder\\De    sktop\\jtable\\school.dbPU").createEntityManager();
    studentsQuery = entityManager.createQuery("SELECT s FROM Students s");
    studentsList = studentsQuery.getResultList();
} else {
    studentsList = Collections.emptyList();
}

Не уверен, почему вы используете Beans.isDesignTime(), это немного странно, чтобы проверить. Обычно это используется в IDE для проверки того, разрабатываете ли вы графический интерфейс.

...