0

I am working with Project of Movies in spring , I have a problem working with a select query and pageable Here the code

The repository

public interface MovieRepository extends JpaRepository<Movie,Integer> {
    
    @Query("select p from Pelicula p join fetch p.director d where p.titulo like %?1% or d.nombre like %?1% or d.apellido like %?1%")
    public Page<Pelicula> findByTituloOrDirector(String term,Pageable pageable);
}

The Controller

@GetMapping("/search/{term}")
public ResponseEntity<?> search(@PathVariable String term,Pageable pageable){
        try {
            return ResponseEntity.status(HttpStatus.FOUND).body(service.findByTitleOrDirector(term,pageable));
        } catch (Exception e) {
            return ResponseEntity.status(HttpStatus.NOT_FOUND).body("{\"message\": \"Error. Please try again later.\"}"+e);
        }
    }

The Service

@Transactional(readOnly = true)
public Page<Pelicula> findByTitleOrDirector(String term,Pageable pageable){
    return repository.findByTitleOrDirector(term, pageable);
}

And the Exception

Caused by: org.hibernate.QueryException: query specified join fetching, but the owner of the fetched association was not present in the select list [FromElement{explicit,not a collection join,fetch join,fetch non-lazy properties,classAlias=d,role=com.movies.app.models.Entity.Pelicula.director,tableName=director,tableAlias=director1_,origin=pelicula pelicula0_,columns={pelicula0_.director,className=com.movies.app.models.Entity.Director}}]
    at org.hibernate.hql.internal.ast.tree.SelectClause.initializeExplicitSelectClause(SelectClause.java:215) ~[hibernate-core-5.4.21.Final.jar:5.4.21.Final]
    at org.hibernate.hql.internal.ast.HqlSqlWalker.useSelectClause(HqlSqlWalker.java:1026) ~[hibernate-core-5.4.21.Final.jar:5.4.21.Final]
    at org.hibernate.hql.internal.ast.HqlSqlWalker.processQuery(HqlSqlWalker.java:794) ~[hibernate-core-5.4.21.Final.jar:5.4.21.Final]
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:689) ~[hibernate-core-5.4.21.Final.jar:5.4.21.Final]
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:325) ~[hibernate-core-5.4.21.Final.jar:5.4.21.Final]
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:273) ~[hibernate-core-5.4.21.Final.jar:5.4.21.Final]
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:276) ~[hibernate-core-5.4.21.Final.jar:5.4.21.Final]
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:192) ~[hibernate-core-5.4.21.Final.jar:5.4.21.Final]
    ... 89 common frames omitted
Joundill
  • 6,828
  • 12
  • 36
  • 50

0 Answers0