Столбец ошибки в запросе по умолчанию в JPQL
Я получаю следующую ошибку при заполнении данных из базы данных для 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 ответ
Ваш 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 для проверки того, разрабатываете ли вы графический интерфейс.