Вариант 1
Найдите свой Arquivo от Versao из ArquivoRepository
, а затем позвоните arquivo.getTabelas()
и getCampos()
для каждого из них, чтобы получить коллекцию нужных вам кампо.
Вариант 2
Определите свой собственный @Query
в CampoRepository
, например:
@Query("select c from Campo c where c.tabela.arquivo.versao = :versao")
Page<Campo> findAllByArquivoVersao(@Param("versao") String versao, Pageable pageable);
Если вы хотите Campos
отЧастичное сравнение их versao
вы можете сделать примерно так:
@Query("select c from Campo c where upper(c.tabela.arquivo.versao) like concat('%',upper(:versao),'%')")
Page<Campo> findAllByArquivoVersao(@Param("versao") String versao, Pageable pageable);
Не зная точно, как вы спроектировали свои сущности (извлечение, обнуляемость, ...), это столько, сколько я могу догадаться.
Я не тестировал этот код.