Использование подвыборки спящего аннотации с сущностью - PullRequest
0 голосов
/ 12 ноября 2018

Я хочу создать представление из двух таблиц, используя аннотации в java / JEE, поэтому после некоторых исследований я обнаружил, что единственный способ сделать это - использовать аннотацию @ Subselect , поэтому я создал 3 объекта тестасущность

 @Table
    @Entity
    public class Test {
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private long id;
        @Column
        private String nom;
        @Column
        private String prenom;
        @Column
        private int age;
        @Column
        private String adresse;
        @Column
        private Date dateNaissance;
    // getters and setters
    }

сущность compte

 @Entity
    public class Compte {
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private long id;
        @Column
        private long solde;
        @Column
        private long numero;
        @Column
        private String description;
    // getters and setters
    }

и сущность Compte_Test, которая играет ту же роль, что и представление

@Entity
@Subselect("SELECT c2.id as idTest,c1.id as id,c1.solde as solde,c1.numero as numero, c2.nom as nom, c2.prenom as prenom FROM Compte c1 INNER JOIN Test c2 ON c1.id_test= c2.id")
@Synchronize({ "compte", "test" })
public class Compte_Test {

    @Id
    private long idCompte_Test;
    @Column
    private long idTest;
    @Column
    private long id;
    @Column
    private long solde;
    @Column
    private long numero;
    @Column
    private String nom;
    @Column
    private String prenom;

 // getters and setters
    }

Я использую данные пружины @ Query annotaion для получения данных от сущности Compte_Test

@Query(value = "SELECT c from Compte_Test c ")
List<Compte_Test> fullTextSearch(Pageable pageable);

Проблема в том, что она генерирует для меня ошибку

org.postgresql.util.PSQLException: ERROR: column compte_tes0_.id_compte_test does not exist
  Position : 8
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2440) ~[postgresql-42.2.5.jar:42.2.5]
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2183) ~[postgresql-42.2.5.jar:42.2.5]
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:308) ~[postgresql-42.2.5.jar:42.2.5]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...