首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么catch了异常,但事务还是回滚了?

如果您是刚打开这篇文章,不了解我们讨论啥,那可以先点击查看之前的这篇《我来出个题:这个事务会不会回滚?》...通过这两篇文章的解析,相信你会对Spring Data JPA下的事务执行机制有质的飞跃。...定义事务的函数不是public类型,这个基础用法就不对了,事务本身就没生效 归家一下出现这些疑问的原因:没审题和事务基础掌握不牢导致。...实际上,之所以会回滚,与这里使用Spring Data JPA以及Hibernate Validator有直接关系。...从异常日志找线索吧。 从异常栈中找到最近的一个错误,点开看看。 错误行数532行tx.commit(),习惯性的加上断点,这样下一次进来的时候可以看看当前情况下的各种参数情况。

1.6K30

JPAHibernate问题汇总

配置下懒加载相关的东西: 1 spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true 进行该配置后,可以session关闭时也能另外开启一个新的...的源码,这里简单分析下,另外我看的是两个源码包如下: 1 2 spring-orm-5.1.5.RELEASE.jar hibernate-core-5.3.7.Final.jar 首先是关于spring.jpa.properties.hibernate.enable_lazy_load_no_trans...=true的配置,前面半截是因为JPA集成了hibernate的配置,所以hibernate,这个配置应该是hibernate.enable_lazy_load_no_trans=true。...hibernate的一个常量接口org.hibernate.cfg.AvailableSettings定义了各种配置常量,其中就包括上述这个配置: 1 String ENABLE_LAZY_LOAD_NO_TRANS...: cannot simultaneously fetch multiple bags,该异常由Hibernate引发,当一个实体定义了两个及两个以上的非懒加载的集合时,即fetch = FetchType.EAGER

2.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

Spring Boot2集成Elasticsearch、PostgreSQL遇到的问题

项目背景   描述和还原事故之前,简单说明下相关环境: spring boot v2.0.4.RELEASE spring-boot-starter-data-elasticsearch (以前做项目的时候...,Spring Data ES跟ES服务存在版本匹配关系,但目前spring boot v2.0.4.RELEASE中使用未发现有版本不兼容情况) spring-boot-starter-data-jpa...如果当前实体需要使用多个@JsonProperty才能定义这种关系,可以考虑使用这种更快捷的方式 @Data @Document(indexName = "school", type = "primary_school...ES一个Index对应多个type问题   如果出现下面这个错误信息,说明定义了多个Type对应在一个Index。实际上ES6.0之后,官方已经不推荐这种映射关系。...: [teacher, student] 参考链接 Spring-data定义Repository elasticsearch常见的问题 JPA实体继承实体的映射策略 SpringData ES

1.6K40

Spring Boot 1.0 && 2.0 + JPA 多数据源配置与使用

环境说明 Spring Boot 1.5.17.RELEASE 或 Spring Boot 2.1.0.RELEASE MySQL v5.6.19 PostgreSQL v10.4 无特殊说明,以下所说的环境均指...Spring Boot 2.1.0.RELEASE,如果使用的是 Spring Boot 1.5.17.RELEASE 这个版本,只需要调整下面有做说明的几处地方 连接配置 application.yml...定义如下信息: spring: jpa: hibernate: # 多数据源下,该属性不生效,需要在配置额外指定,这里仅表示普通定义 ddl-auto: create-drop...mysql 对应的数据源配置定义了实体 Student 和对应的数据层接口 StudentRepository: @Data @Entity @NoArgsConstructor @AllArgsConstructor...databases with Spring Data JPA Springboot2.0Hibernate默认创建的mysql表为myisam引擎问题 关于springboot2.0.0配置多数据源出现

1.6K30

Spring认证中国教育管理中心-Spring Data JPA 参考文档七

审计 基本 Spring Data 提供了复杂的支持,以透明地跟踪谁创建或更改了实体以及更改发生的时间。要从该功能受益,您必须为实体类配备审计元数据,这些元数据可以使用注释或通过实现接口来定义。...您仍然必须修改orm.xml文件并spring-aspects.jar类路径上有。以下示例显示了如何使用@EnableJpaAuditing注释: 示例 118....使用JpaContext定义实现 当使用多个EntityManager实例和自定义存储库实现时,您需要将正确的连接EntityManager到存储库实现类。...从 version 1.1.0 开始,Spring Data JPA 附带了一个自定义 CDI 扩展,允许 CDI 环境中使用存储库抽象。该扩展是 JAR 的一部分。...要激活它,请在您的类路径包含 Spring Data JPA JAR。

1K20

Spring实战》摘录 - 20

在这种模式下,程序要负责打开或关闭实体管理器并在事务对其进行控制。这种方式的实体管理器适合于不运行在Java EE容器的独立应用程序。...EclipseLinkJpaVendorAdapter HibernateJpaVendorAdapter OpenJpaVendorAdapter TopLinkJpaVendorAdapter(Spring...3.1版本,已经将其废弃了) 195 问题:#11.2.1-4 | Hibernate的JPA适配器支持多种数据库,可以通过其database属性配置使用哪个数据库 A: IBM DB2 ---...--- POSTGRESQL Microsoft SQL Server --- SQLSERVER Sybase --- SYBASE 196 问题:#12.1-1 | Spring Data MongoDB...提供了三种方式Spring应用中使用MongoDB A: 通过注解实现对象-文档映射; 使用MongoTemplate实现基于模板的数据库访问; 自动化的运行时Repository生成功能。

74130
领券