Как сделать внутренние объединения между двумя объектами в Spring Boot? - PullRequest
0 голосов
/ 08 мая 2019

Я хочу сделать запрос внутреннего соединения из репозитория.Исходный запрос выглядит следующим образом:

select p.id_persona,p.nombre,p.appaterno,p.apmaterno, bp.fecha_ingreso,bp.fecha_salida 
from bitacora_personas as bp
inner join persona as p on p.id_persona=bp.fk_id_persona 
where p.fk_id_empresa= :idEmpresa

У меня есть метод в репозитории, подобный этому:

@Repository("bitacoraPersonasRepository")
public interface BitacoraPersonasRepository extends JpaRepository<BitacoraPersonas, Serializable> {
    @Query(value = "select p.id_persona,p.nombre,p.appaterno,p.apmaterno, bp.fecha_ingreso,bp.fecha_salida from bitacora_personas as bp\n" +
            "inner join persona as p on p.id_persona=bp.fk_id_persona\n" +
            "where p.fk_id_empresa= :idEmpresa",
            nativeQuery = true)
    public List<BitacoraPersonas> getPersonasPorEmpresa(@Param("idEmpresa") Integer idEmpresa);
}

Когда я пытаюсь выполнить это, он выдает ошибку, говорящую, что *Столбец 1007 * из объекта BitacoraPersonas не существует, даже если столбец в таблице существует.Я думаю, это потому, что у сущности Persona нет этого столбца, и когда я пытаюсь запустить метод getPersonasPorEmpresa() из контроллера, который возвращает список BitacoraPersonas, он не работает с сущностью Persona, потому чтоони не правильно сопоставлены или что-то.Как вы можете видеть, я пытаюсь извлечь атрибуты из сущности Persona, как и из сущности BitacoraPersona во внутреннем соединении.Как я могу решить это?

...