Spring Data mentions the nativeQuery
property of the @Query
annotation的文档,但没有提及其优势:
@Query
批注允许通过将nativeQuery
标志设置为true来运行本机查询,如以下示例所示:public interface UserRepository extends JpaRepository<User, Long> { @Query(value = "SELECT * FROM USERS WHERE EMAIL_ADDRESS = ?1", nativeQuery = true) User findByEmailAddress(String emailAddress); }
我找不到有关何时以及为何执行此操作的任何文档。使用nativeQuery = true
有什么好处?
答案 0 :(得分:2)
当@Query
注释具有一个nativeQuery = true
参数时,该查询将不会被解析为JPQL
。这可能会提高性能,但是当您使用MySQL
方言创建查询并尝试在MS SQL
服务器上执行查询时,这很危险。