Spring Boot基本配置和常见的运行时错误以及解决

spring boot 基本配置

基本依赖

    Core ---> DevTools
    Web------> Web
    Sql ------> JPA / H2
    Template -----> thymeleaf

注意事项

从git上clone文件后需要做一下设置:
1. setting --> build ---> Compiler --> 勾选Build project automatically
2. Build --> compiler --> Annotation Processors --> 勾选:Enable annnotating Processing
3. Project Struction --> Facets --> spring ---> spring --> " + " --> "全选" -->  ok

常见错误

1. 在实体中创建一个集合对象 private List bookList = new ArrayList();

             报错:Caused by: org.hibernate.loader.MultipleBagFetchException

             报错原因:当(fetch = FetchType.EAGER)多余一个时,持久框架抓取一方的对象时,同时又将多方的对象加载进容器中,多方又可能关联其它对象,Hibernate实现的JPA,

                        默认最高抓取深度含本身级为四级(它有个属性配置是0-3),若多方(第二级)存在重复值,则第三级中抓取的值就无法映射,就会出现 multiple bags。

             解决方法:

                    1、将(fetch = FetchType.EAGER)改为(fetch = FetchType.LAZY)

                    2、将List修改成Set集合,即推荐@ManyToMany或@OneToMany的Many方此时用Set容器来存放,而不用List集合

2、在实体中创建一个集合对象 private List bookList = new ArrayList();

            报错:Caused by: org.hibernate.MappingException: Could not determine type for: java.util.List

            报错原因:@ManyToMany等注解。要么加载属性上,要么加在属性的Get方法上,不能混合使用!

            解决方法:将 @ManyToMany(fetch = FetchType.EAGER)加在属性前面
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值