最近在使用spring-boot,但是maven install时总会报错:org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'webConfigBeans': Unsatisfied dependency expressed through field 'handlerAdapter';
一开始以为是在配置中找不到一个指定自动注入类型的bean,看了很多文件,后来朋友看了我的注解什么的,后面才发现原来是JPA中findBy语法出问题了。
代码
@Entity
@Table(name="exc_problem")
public class ExcProblem implements Serializable {
private static final long serialVersionUID = 1L;
private String id;
private String title; //标题
private String content;
private String creater; //创建人
private Date createtime = new Date(); //创建时间
private String cate ; //所属分类
……
}
public interface ExcProblemRepository extends JpaRepository<ExcProblem, String> {
@Query(value = "select p.* from exc_problem as p " ,
nativeQuery = true)
public Page<ExcProblem> findIndex();
public Page<ExcProblem> findAll(); //分页按条件查询
public Page<ExcProblem> findByPCAndCCAndTLike(String p, String c, String t, Pageable p);
public Page<ExcProblem> findByPCAndCC(String p, String c, Pageable p);
主要原因与解决方法
是因为在对应的model里面没有PCAndCC这个成员变量,所以不能引用对应的Spring Data JPA中的findBy语法(findByPCAndCC和findByPCAndCCAndTLike),在这里只要把这两个方法去掉或者是为Problem这个实体添加对应的成员变量(属性)就可以了。