我有一個春天啓動的應用程序版本1.4.3.RELEASE 是正在與MS SQL數據庫使用驅動程序版本4.1失敗春天啓動的查詢與MSSQL數據庫
我試圖執行一個查詢帶來的頂部100結果以下列方式
public interface EventTrackingService extends CrudRepository<EventTracking, Integer> {
public List<EventTracking> findBySwitchIpOrderByTimestampDesc(String switchIp);
public List<EventTracking> findTop100ByOrderByTimestampDesc();
}
項目很好地編譯,但是當我打第二次查詢findTop100ByOrderByTimestampDesc我得到以下錯誤:
Hibernate: /* select generatedAlias0 from EventTracking as generatedAlias0 order by generatedAlias0.timestamp desc / select TOP ? eventtrack0_.nEventNumber as nEventNu1_9_, eventtrack0_.strAction as strActio2_9_, eventtrack0_.strEventMsg as strEvent3_9_, eventtrack0_.strEventType as strEvent4_9_, eventtrack0_.FHandleEvent as FHandleE5_9_, eventtrack0_.StrIpAddress as StrIpAdd6_9_, eventtrack0_.strMACAddress as strMACAd7_9_, eventtrack0_.nPort as nPort8_9_, eventtrack0_.strSwitchIP as strSwitc9_9_, eventtrack0_.nDate as nDate10_9_ from SWAT.dbo.tblEventsTracking eventtrack0_ order by eventtrack0_.nDate desc 2017-04-20 03:38:28.791 DEBUG 11016 --- [-nio-555-exec-3] c.m.s.jdbc.internals.SQLServerStatement : SQLServerPreparedStatement:3 created by (ConnectionID:10 ClientConnectionId: a144ec47-037d-40a7-be92-db1725614208) 2017-04-20 03:38:28.807 DEBUG 11016 --- [-nio-555-exec-3] c.m.s.jdbc.internals.SQLServerStatement : SQLServerPreparedStatement:3: calling sp_prepexec: PreparedHandle:0, SQL:/ select generatedAlias0 from EventTracking as generatedAlias0 order by generatedAlias0.timestamp desc */ select TOP @P0 eventtrack0_.nEventNumber as nEventNu1_9_, eventtrack0_.strAction as strActio2_9_, eventtrack0_.strEventMsg as strEvent3_9_, eventtrack0_.strEventType as strEvent4_9_, eventtrack0_.FHandleEvent as FHandleE5_9_, eventtrack0_.StrIpAddress as StrIpAdd6_9_, eventtrack0_.strMACAddress as strMACAd7_9_, eventtrack0_.nPort as nPort8_9_, eventtrack0_.strSwitchIP as strSwitc9_9_, eventtrack0_.nDate as nDate10_9_ from SWAT.dbo.tblEventsTracking eventtrack0_ order by eventtrack0_.nDate desc 2017-04-20 03:38:28.815 DEBUG 11016 --- [-nio-555-exec-3] c.m.s.jdbc.internals.SQLServerException : *** SQLException: com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near '@P0'. Msg 102, Level 15, State 1, Incorrect syntax near '@P0'. 2017-04-20 03:38:28.815 WARN 11016 --- [-nio-555-exec-3] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 102, SQLState: S0001 2017-04-20 03:38:28.815 ERROR 11016 --- [-nio-555-exec-3] o.h.engine.jdbc.spi.SqlExceptionHelper : Incorrect syntax near '@P0'.
這是一個錯誤的JPA與數據庫或
請同時發佈您的'EventTracking'類。 –
在我看來,你不需要第一個'按',因爲沒有查詢參數。所以只要嘗試findTop100OrderByTimestampDesc –
沒有第一個由項目不能編譯,找到解決方案在這裏http://stackoverflow.com/questions/20374437/jpa-query-creation-order-by – naoru