jpa
大浪中航行
这个作者很懒,什么都没留下…
展开
-
Jpa中ManyToMany和OneToMany的双向控制
Jpa中ManyToMany和OneToMany的双向控制 下面我们使用权限管理中Role<->Account(用户ManyToMany账号)、Role<->Domain(用户OneToMany权限域)的关系来举例。 1、ManyToMany Role表 Account表 在两个表的对应属性上添加JoinColumns和inverseJoinColumns,并且原创 2016-11-04 16:46:42 · 6510 阅读 · 0 评论 -
JPA效率优化(EntityGraph)
JPA效率优化n+1问题当我们使用JPA提供给我们的find方法时,如果查询出来的对象关联着另外10个对象,那么JPA将会发送1+10次查询(这个对象本身要查询一次,然后每个关联对象再查询一次)。此时如果有100个用户正同时发送请求,这个时候就会产生1100次查询,这将会大大增加服务器的开销,因此我们要避免这个问题。Fetch Join在JPA中,我们可以使用fetch join来获取我们需要原创 2017-02-23 21:01:17 · 32912 阅读 · 3 评论 -
query specified join fetching, but the owner of the fetched association was not present in the selec
query specified join fetching, but the owner of the fetched association was not present in the select list在使用EntityGraph查询时报了这个错误,它的意思是说@EntityGraph中制定的某个属性没有在结果集中出现。该方法的代码如下:@EntityGraph(attributePath原创 2017-02-23 21:53:44 · 3458 阅读 · 0 评论 -
Spring Boot多数据源配置
动机在最近的项目中,由于新项目要和老项目整合(新旧业务过渡),因此需要将的数据库表与老数据库表做数据库同步。方案利用Spring Boot支持多数据源的特性,配置两个数据源来实现该需求。(这篇博客不讨论业务层面的实现方式,只讨论多数据源的配置。)实现新建两个配置类(即加@Configuration注解的类),一个为PrimaryDatasourceConfig,用来配置本项目的数据源;另一个叫S原创 2017-11-02 10:22:21 · 2450 阅读 · 0 评论 -
@ManyToMany,Cascade为All时,save报detached entity passed to persist
问题描述public class EditPrivilege extends EntityId { @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL) @JoinTable(name = REL_EDITPRIVILEGE_ROLE) private Set<Role> edita...原创 2018-04-14 13:35:28 · 2979 阅读 · 0 评论