JPA createQuery / TypedQuery, не распознающий мою таблицу - PullRequest
0 голосов
/ 27 апреля 2018

Я вызываю эту функцию:

    public List<Student> getAllStudents() {
        TypedQuery<Student> query = entityManager.createQuery("SELECT e FROM Student as e", Student.class);
        List<Student> students = query.getResultList();

        return students;
    }

Это мой ученический класс:

@Entity
@Table(name = "Students")
public class Student {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;

    @Column(unique = true)
    private String studentNumber;
    private String firstName;
    private String lastName;
    private boolean uploaded;
    private boolean downloaded;
    private boolean active;

    // Default constructor
    public Student() {

    }
}

Проблема решена! Спасибо за помощь, ребята, еще новичок в этом и сделал несколько глупых ошибок!

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Так что я исправил проблему.

Сам код правильный, однако Intellij использовал неправильную стандартную конфигурацию JPA Framework. После правильной реализации все ошибки исчезли.

Еще одна вещь, которую я изменил, - добавьте эту строку в мой файл persistence.xml, чтобы убедиться, что предварительная загрузка была истинной:

<property name="openjpa.MetaDataRepository" value="Preload=true" />

Спасибо всем, кто ответил на этот вопрос!

0 голосов
/ 27 апреля 2018

Ваш запрос должен выглядеть следующим образом: «ВЫБЕРИТЕ ЭТО ИЗ СРЕДИ ЭТУ»

Обратите внимание, что сущность является единственной (не студентами), вам нужно объявить "ОТ", и вам не нужно включать слово "КАК".

Я выучил JPA из этого урока: https://docs.oracle.com/javaee/7/tutorial/partpersist.htm#BNBPY

Вы можете посмотреть примеры JPQL здесь: https://docs.oracle.com/javaee/7/tutorial/persistence-querylanguage002.htm#BNBRG

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