老师好,关于springboot中使用jpa调用sql的问题
来源:13-10 redis缓存的使用(下)

慕粉4354032
2019-06-13
老师好,在如下代码中OrderDetailRepository继承了JpaRepository,并自定义了findByOrderId方法
public interface OrderDetailRepository extends JpaRepository<OrderDetail, String> {
List<OrderDetail> findByOrderId(String orderId);
}
但是JpaRepository中并没有我们自定义的这个findByOrderId方法
public interface JpaRepository<T, ID extends Serializable> extends PagingAndSortingRepository<T, ID>, QueryByExampleExecutor {
List findAll();
List<T> findAll(Sort var1);
List<T> findAll(Iterable<ID> var1);
<S extends T> List<S> save(Iterable<S> var1);
void flush();
<S extends T> S saveAndFlush(S var1);
void deleteInBatch(Iterable<T> var1);
void deleteAllInBatch();
T getOne(ID var1);
<S extends T> List<S> findAll(Example<S> var1);
<S extends T> List<S> findAll(Example<S> var1, Sort var2);
}
那么问题来了:自定义的findByOrderId方法不需要自己编写sql?很奇怪仅有一个自定义的方法名是如何完成匹配sql的?
写回答
2回答
-
廖师兄
2019-06-13
你想呀,这方法名是和数据库定义的字段对应,所以肯定是动态的实现的,在父类里肯定找不到。
00 -
慕粉4354032
提问者
2019-06-13
找了些博客,大概了解了一下jpa
https://blog.csdn.net/bird_tp/article/details/83651651
00
相似问题