如何在Spring Boot中内部连接beetwen两个实体?

时间:2019-05-08 17:03:34

标签: java hibernate spring-boot spring-mvc inner-join

我想从存储库中进行内部联接查询。原始查询如下所示:

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);
}

当我尝试运行此命令时,抛出一个错误,说即使表中的列存在,BitacoraPersonas实体的id_bitacora_personas列也不存在。我认为这是因为Persona实体没有该列,并且当我尝试从控制器运行方法getPersonasPorEmpresa()并返回BitacoraPersonas的列表时,它与{ {1}}实体,因为它们未正确映射或其他原因。如您所见,我正在尝试从Persona实体中检索属性,就像从内部联接中的Persona实体中检索属性一样。我该怎么解决?

0 个答案:

没有答案