在使用Spring JPA的@Query注解进行数据查询时(如代码1),有时候是可以省略掉@Query注解的(如代码2)。代码1public interface UserRepository extends JpaRepository<User, Long> { @Query("select u from User u where u.emailAddress = ?1") User findByEmailAddress(String emailAddress);}代码2public interface UserRepository extends JpaRepository<User, Long> { User findByEmailAddress(String emailAddress);}什么情况下可以省略@Query注解?
2 回答
RISEBY
TA贡献1856条经验 获得超5个赞
我进行不负责任的猜测,需要满足下面三个条件:
返回值的类型的名称需要与表名相同;
返回值的类型的字段名需要与表的列名相同;
如果方法有参数,那么方法的参数名(例如你的例子中的emailAddress)与需要表的列名相同。
总之就是:你即使不加注解,框架也能够根据已有的信息推断出来,并且推断出的结果合法。那么此时就可以省略注解。
添加回答
举报
0/150
提交
取消