【发布时间】:2021-05-31 17:02:18
【问题描述】:
我有一个 Spring JPA 存储库,定义了本机查询,查询似乎可以执行,但不会产生任何结果。
存储库类
@Repository
public interface AddressBaseRepository extends JpaRepository<Address, String> {
@Query(value = "select ADDRESSES.UPRN,ADDRESSES.FID,ADDRESSES.ORGANISATION,ADDRESSES.SUB_BUILDING,BUILDINGS.NAME as BUILDING,ADDRESSES.BUILDING_NUMBER,STREETS.NAME as STREET,TOWNS.NAME as TOWN,LOCALITY.NAME as LOCALITY,POSTCODES.POSTCODE,"
+ "EASTING,"
+ "NORTHING,"
+ "LATITUDE,"
+ "LONGITUDE"
+ " FROM ADDRESSES "
+ " INNER JOIN STREETS ON STREETS.ID = STREET"
+ " INNER JOIN TOWNS ON TOWNS.ID = TOWN"
+ " INNER JOIN POSTCODES ON POSTCODES.ID = POST_CODE"
+ " LEFT JOIN LOCALITY ON LOCALITY.ID = LOCALITY"
+ " LEFT JOIN BUILDINGS ON BUILDINGS.ID = BUILDING_NAME"
+ " LEFT JOIN ORGANISATIONS ON ORGANISATIONS.ID = ORGANISATION"
+ " WHERE ADDRESSES.UPRN = ?1", nativeQuery = true)
List<Address> getAddressByUprn(String uprn);
}
查看日志可以看出查询参数没有设置
Hibernate: select ADDRESSES.UPRN,ADDRESSES.FID,ADDRESSES.ORGANISATION,ADDRESSES.SUB_BUILDING,BUILDINGS.NAME as BUILDING,ADDRESSES.BUILDING_NUMBER,STREETS.NAME as STREET,TOWNS.NAME as TOWN,LOCALITY.NAME as LOCALITY,POSTCODES.POSTCODE,EASTING,NORTHING,LATITUDE,LONGITUDE FROM ADDRESSES INNER JOIN STREETS ON STREETS.ID = STREET INNER JOIN TOWNS ON TOWNS.ID = TOWN INNER JOIN POSTCODES ON POSTCODES.ID = POST_CODE LEFT JOIN LOCALITY ON LOCALITY.ID = LOCALITY LEFT JOIN BUILDINGS ON BUILDINGS.ID = BUILDING_NAME LEFT JOIN ORGANISATIONS ON ORGANISATIONS.ID = ORGANISATION WHERE ADDRESSES.UPRN = ?
有人可以指出我为什么没有设置参数的正确方向吗?我也尝试过命名参数并得到相同的结果。
【问题讨论】:
-
您不会以正确的配置打印日志!添加您的日志配置。
标签: java hibernate spring-data-jpa