ams*_*ams 7 java spring spring-data spring-data-jpa
在Spring Data中是否可以从方法名称关闭查询生成?
鉴于界面
public interface UserRepository extends Repository<User, Long> {
List<User> findByEmailAddressAndLastname(String emailAddress, String lastname);
}
Run Code Online (Sandbox Code Playgroud)
我希望spring security能够产生一个错误,说明从方法名称生成查询已被关闭,请使用显式@Query注释,如此.
public interface UserRepository extends Repository<User, Long> {
@Query("select u from User u where u.emailAddress = ?1 and u.lastname = ?2")
List<User> findByEmailAddressAndLastname(String emailAddress, String lastname);
}
Run Code Online (Sandbox Code Playgroud)
我想关闭自动查询生成,因为我认为更容易阅读查询并知道发生了什么,而不是阅读方法名称并转换为Spring数据将生成的查询,同样在大型团队中有很多开发人员可能还不熟悉Spring数据@Query更具可读性?
如何从Spring JPA中的方法名称关闭查询创建?
您可以指定query-lookup-strategy
在repositories
配置中的标签.
<repositories query-lookup-strategy="use-declared-query"/>
Run Code Online (Sandbox Code Playgroud)
请参阅文档
User.java
@Entity
@NamedQuery(name="User.findByEmailAddressAndLastName",
query="select u from User u where u.emailAddress = ?1 and u.lastname = ?2")
public User{
}
Run Code Online (Sandbox Code Playgroud)
UserRepository.java
public interface UserRepository extends Repository<User, Long> {
List<User> findByEmailAddressAndLastname(String emailAddress, String lastname);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3259 次 |
最近记录: |