getOne是懒加载,需要增加这个配置: spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true,但这种方式不太友好,建议不要使用. 解释:https://vladmihalcea.com/2016... 每次初始化一个实体的关联就会创建一个临时的session来加载,每个临时的session都会获取一个临时的数据库连接,开启一个新的事物.这就导致对底层连接池压力很大,而且事物日志也会被每次flush.设想一下:假如我们查询了…
org.hibernate.hql.internal.ast.QuerySyntaxException: T_D_SHIFT_DISPATCH is not mapped 错误原因: 没有映射到表,经过debug排查,发现自己在Entity中的命名是T_D_SHIFT_Dispatch,但是这里复制的是全大写的表名. 具体错误写法: dao中: entity中: 解决方法: 统一命名就行. 如何debug看出来?MetamodelImpl类中,该方法打断点,可以看到我这个表和类的映射的命名…
原文: 最近重构以前写的服务,最大的一个变动是将mybatis切换为spring data jpa,切换的原因很简单,有两点:第一.它是spring的子项目能够和spring boot很好的融合,没有xml文件(关于这一点hibernate似乎也很符合):第二.简单优雅,比如不需要写SQL.对分页有自动化的支持等等,基于以上两点开始了重构之路.在这之前了解了一下hibernate.mybatis和spring data jpa的区别,在这里也简单的记录一下:Hibernate的O/R Mappi…
今天在项目中使用Spring Data Solr导入动态域数据报错, 控制台打印错误信息如下 Exception in thread "main" org.springframework.data.solr.UncategorizedSolrException: nested exception is java.lang.NullPointerException at org.springframework.data.solr.core.SolrTemplate.execute(Sol…
@Data注解来源与Lombok,可以减少代码中大量的set get方法,大量减少冗余代码,但是今天部署项目时候,发现实体类使用@Data注解,但是项目业务类中使用getA(),setA()方法报错.经过分析排查发现eclipse中还需要配置lombok. 代码中使用ivy依赖引入jar包. ivy.xml中的配置: <dependency org="org.projectlombok" name="lombok" rev="1.16.20"…
使用spring data jpa 的删除操作,需要加注解@Modifying     @Transactional 否则报错如下: No EntityManager with actual transaction available for current thread - cannot reliably process 'remove' call 场景如下: 在service中,先执行 delete 操作,再执行 save操作 报错如下: No EntityManager with actu…
spring boot项目中 使用spring data jpa 启动报错: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dealerTransferServiceImpl': Unsatisfied dependency expressed through field 'dealerTransferDao'; nested exception i…
之前项目中使用spring data jpa时,遇到删除记录的需求时,主要利用spring data中自带的delete()方法处理,最近在dao层使用delete sql语句时报错,代码如下: @Query(value = "delete parcel,parcel_file,ms_files,t_order,route " + "from parcel left join route on parcel.route_id = route.id" + "…
Type definition error: [simple type, class org.springframework.data.domain.Page]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `org.springframework.data.domain.Page` (no Creators, lik…
第一步首先创建一个maven工程,导入对于的pom依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.…