Skip to content

Commit af305a7

Browse files
committed
add EntityManagerInitializer
1 parent c486712 commit af305a7

File tree

3 files changed

+53
-0
lines changed

3 files changed

+53
-0
lines changed

springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/DataFastConfiguration.java

+7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.codingapi.springboot.fast;
22

33
import com.codingapi.springboot.fast.executor.JpaExecutor;
4+
import com.codingapi.springboot.fast.manager.EntityManagerInitializer;
45
import com.codingapi.springboot.fast.mapping.MvcEndpointMapping;
56
import com.codingapi.springboot.fast.registrar.MvcMappingRegistrar;
67
import org.springframework.aop.Advisor;
@@ -33,6 +34,12 @@ public MvcMappingRegistrar mappingRegistrar(MvcEndpointMapping mvcEndpointMappin
3334
return new MvcMappingRegistrar(mvcEndpointMapping, jpaExecutor,advisors);
3435
}
3536

37+
@Bean
38+
@ConditionalOnMissingBean
39+
public EntityManagerInitializer entityManagerInitializer(EntityManager entityManager){
40+
return new EntityManagerInitializer(entityManager);
41+
}
42+
3643
@Bean
3744
@ConditionalOnMissingBean
3845
public JpaExecutor jpaExecutor(EntityManager entityManager) {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.codingapi.springboot.fast.manager;
2+
3+
import jakarta.persistence.EntityManager;
4+
import lombok.Getter;
5+
6+
public class EntityManagerContent {
7+
8+
@Getter
9+
private EntityManager entityManager;
10+
11+
12+
private EntityManagerContent() {
13+
}
14+
15+
16+
@Getter
17+
private final static EntityManagerContent instance = new EntityManagerContent();
18+
19+
20+
public void push(EntityManager entityManager) {
21+
this.entityManager = entityManager;
22+
}
23+
24+
25+
public void detach(Object entity) {
26+
if (entityManager != null) {
27+
entityManager.detach(entity);
28+
}
29+
}
30+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.codingapi.springboot.fast.manager;
2+
3+
import jakarta.persistence.EntityManager;
4+
import lombok.AllArgsConstructor;
5+
import org.springframework.beans.factory.InitializingBean;
6+
7+
@AllArgsConstructor
8+
public class EntityManagerInitializer implements InitializingBean {
9+
10+
private final EntityManager entityManager;
11+
12+
@Override
13+
public void afterPropertiesSet() throws Exception {
14+
EntityManagerContent.getInstance().push(entityManager);
15+
}
16+
}

0 commit comments

Comments
 (0)