Spring Data Jpa 异常:PropertyReferenceException: No property xx for type yy

来源:互联网 发布:c语言ascii码 编辑:程序博客网 时间:2024/05/17 15:35

今天在写完一个仓储层方法时,tomcat启动就抛出了一个异常,内容是:

nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xxxRepository': Invocation of init method failed; nested exception is org.springframework.data.mapping.PropertyReferenceException: No property xx found for type yy!

定义的接口和实现类大致为:

public interface OrderRepository extends JpaRepository<Order, Long>{Pager<Order> getList(int pageSize, int pageNo);}public class OrderRepositoryImpl{Pager<Order> getList(int pageSize, int pageNo){return ...;}}

想想平时也是这样,定义接口,然后定义约定的类,类名为接口名加上Impl后缀,这样调用方法时,Jpa可以自动调用实现类实现的方法。今天却不管用了。于是很纳闷,看起来没什么问题。这个异常,表名Jpa并没有找到我定义的类,而是把接口方法当成实体属性来判断了。为什么会找不到呢?仔细看,原来在实现类中的方法定义是从接口中拷出来的,方法使用缺省的访问权限修饰符(IDEA在定义接口中提示可以省略public)。于是想想是不是这个问题,加上修饰符public后,就不报错了。至于深层次的原因,还需要再看下,下回再做分享。

阅读全文
0 0
原创粉丝点击