【发布时间】:2019-11-09 21:09:55
【问题描述】:
我试图了解 nativeQuery 与 spring data JPA 的使用。考虑关注我从USER 表中提取USER_NAME 的位置。
公共接口 UserRepository 扩展 JpaRepository {
@Query(value = "SELECT USER_NAME FROM USER WHERE EMAIL_ADDRESS = ?1", nativeQuery = true)
String findByEmailAddress(@Param("emailAddress") String emailAddress );
}
一切都很好。现在在同一个界面上,我可以添加如下方法,它是从SOME_OTHER_TABLE 提取的,它不会与实体类User 匹配。
@Query(value = "SELECT USER_NAME FROM SOME_OTHER_TABLE WHERE EMAIL_ADDRESS = ?1", nativeQuery = true)
String findByEmailAddress(@Param("emailAddress") String emailAddress );
}
这也很好用。现在我真正的问题是为什么我们需要User 实体类,如果它与native query 无关。我们只是想确保代码能够正确编译吗?这是否也意味着我什至可以放置任何entity 类,例如JpaRepository<SOmeRandomEntityClass, Long>,并且仍然可以使用。
【问题讨论】:
标签: sql spring-boot spring-data-jpa nativequery