ОШИБКА: столбец ‘id’ не найден при использовании NativeQuery в Hibernate 5.4.14

#java #hibernate #hibernate-native-query

#java #спящий режим #hibernate-native-query

Вопрос:

У меня следующий запрос :

 try (Session session = sessionFactory.openSession()) {
    var clients = session.createNativeQuery("select c.fullname, c.city from client c where c.id=:id")
            .addEntity("c", Client.class)
            .setParameter("id", id);
  

и в сущности, и в базе данных также есть идентификатор, но получение

 `Caused by: java.sql.SQLException: Column 'id' not found.`  
  

Вот класс сущности:

 public class Client  implements java.io.Serializable {    

     private Integer id;
     private Product product;
     private String fullname;
     private String business;
     private String address;  
  

Вот Client.hbm.xml :

 <class name="javafxapplication.pojo.Client" table="client" catalog="clientie" optimistic-lock="version">
    <id name="id" type="java.lang.Integer">
        <column name="id" />
        <generator class="identity" />
    </id>
  

введите описание изображения здесь

Я использую MySQL 8.0.21 Hibernate 5.4.14 JDK 11.0.8 10
Я не хочу использовать запрос критериев JPA, потому что я использую NativeQuery для проверки производительности.
Поэтому не предлагайте JPA

Комментарии:

1. Как настроена таблица вашей базы данных? Вы пробовали с .addEntity("client", Client.class) ?

2. Итак, как ваша таблица базы данных?