我想从存储库中进行内部联接查询。原始查询如下所示:
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
实体中检索属性一样。我该怎么解决?