Correct the classpath of your application so that it contains a single, compatible version of xxxxxx
这种问题多半是POM文件中添加的包的版本不兼容,一般来说,我们默认选择了spring-boot的版本后,其他包的类似涉及到spring-boot-framework中的其他工具包时,就没必要指定版本了,它会默认选择和当前spring-boot适配的包加载进来
我当时这个问题就是纯粹照着教程上选择了
<springdatajpa.version>2.0.1.RELEASE</springdatajpa.version>
结果出现了项目无法启动的error
java.lang.NullPointerException
这个问题很可笑,是因为我忘了在测试代码中,创建Repository实体时忘记了添加
@Autowired
Consider defining a bean of type ‘xxx’ in your configuration或者Autowire的持久化类借口有错误的
很可笑,我的接口是没问题的,不过在其接口的Imp实现类上没有添加@Component组件,加上@Service也是一样的,@Service也有@Component组件注入功能
JPA 传送Date,带时分秒的数据
首先,数据库中对应类型为datetime,date只有年月日,time只有时分秒,datetime全有
然后
参考
使用JPA自带查询函数findById时必须加orElse后面那一点部分,要不然报错,如下:
findById(id).orElse(new Obj ());
使用specification多条件查询时,使返回结果排序后输出
参考
以及我的代码:
//按照时间降序排序
criteriaQuery.orderBy(criteriaBuilder.desc(root.get("push_date")));
criteriaQuery.where(pAND,pOr);
//predicate.getExpressions().add(pAND);
return criteriaQuery.getRestriction();
运用JPA的Specification级联查询时出现递归爆栈,而且多为String.append()错误时
根源,对于关联实体中的list是无法输出的,打印时应该避免输出这一项。
解决方法:
1.实体类中重写toString()方法
2.在控制台输出时,只输出实体类中的String,Int类型变量。