2014-09-15 2 views
0

У меня есть программное обеспечение jsf + spring + jpa, совместимое с oracle, sqlserver и postgres. Однако в настоящее время возникла проблема при подкачке. Запрос, созданный для базы данных Postgres, создает предложение TOP(), которое несовместимо с Postgress. Интересно, как создать LIMMIT вместо TOP.HQL генерировать предложение TOP() в базу данных Postgres

@Query("SELECT new br.com.governa.admin.comum.entidade.visao.PessoaFisicaVisao(" 
      + "pessoaFisica.id, " 
      + "pessoaFisica.nome, " 
      + "pessoaFisica.cpf, " 
      + "pessoaFisica.dataNascimento, " 
      + "pessoaFisica.nomeMae) " 
      + "FROM PessoaFisica pessoaFisica " 
      + "WHERE upper(pessoaFisica.nome) like %:nome% " 
      + "AND upper(pessoaFisica.cpf) like %:cpf% " 
      + "AND upper(pessoaFisica.rg) like %:rg% " 
      + "AND (pessoaFisica.dataNascimento = :dataNascimento OR :dataNascimentoStr = null) " 
      + "AND upper(pessoaFisica.nomeMae) like %:nomeMae% ") 
    Page<PessoaFisicaVisao> findPessoaFisicaVisaoPaginado(
      @Param("nome") String nome, @Param("cpf") String cpf, 
      @Param("rg") String rg, @Param("dataNascimento") Date dataNascimento, 
      @Param("dataNascimentoStr") String dataNascimentoStr, @Param("nomeMae") String nomeMAe, 
      Pageable pageable) 

Весна Запрос аннотации генерируя эту JPQL

select 
    TOP(10) -- is not recognized PostGres SQL 
    pessoafisi0_.id as col_0_0_, 
    pessoafisi0_1_.nome as col_1_0_, 
    pessoafisi0_.cpf as col_2_0_, 
    pessoafisi0_.data_nascimento as col_3_0_, 
    pessoafisi0_.nome_mae as col_4_0_ 
from 
    admin.PESSOA_FISICA pessoafisi0_ 
inner join 
    admin.PESSOA pessoafisi0_1_ 
     on pessoafisi0_.id=pessoafisi0_1_.id 
where 
    (
     upper(pessoafisi0_1_.nome) like ? 
    ) 
    and (
     upper(pessoafisi0_.cpf) like ? 
    ) 
    and (
     upper(pessoafisi0_.rg) like ? 
    ) 
    and (
     pessoafisi0_.data_nascimento=? 
     or ? is null 
    ) 
    and (
     upper(pessoafisi0_.nome_mae) like ? 
    ) 
order by 
    pessoafisi0_1_.nome, 
    pessoafisi0_.cpf asc 

Я использую: зимуют 4,2 Hibernate-JPA 2.1 Spring 4.0.5

ответ

0

Я компилирую код SQLServer и запуск сервера в POSTGRES. Сожалею.

Смежные вопросы