반응형
Spring Boot에서 EntityManager에 대한 핸들을 가져오는 중
주어진 엔터티 개체에 대한 엔터티 관리자에 대한 핸들을 가져오는 방법이 있습니까?JPA 스타터와 함께 스프링 부트 1.2.3을 사용하고 있으며 여러 데이터 소스를 사용하여@configuration
확인했습니다.entityManager에 대한 SPRING BOOT 액세스 권한이 있지만 질문에 답하지 않는 것 같습니다.
감사해요.
편집: 데이터 소스가 정의되는 방식에 대한 설명을 추가했습니다.
@Component
@Configuration
public class DataSources {
@Bean
@Primary
@ConfigurationProperties(prefix="first.datasource")
public DataSource getPrimaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties(prefix="second.datasource")
public DataSource getSecondDataSource() {
return DataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties(prefix="third.final.datasource")
public DataSource getThirdFinalDataSource() {
return DataSourceBuilder.create().build();
}
}
나의 application.yml에는 다음과 같은 섹션이 있습니다.
first.datasource:
name: 'first_datasource',
#other attributes...
second.datasource:
name: 'second_datasource',
#other attributes...
third.final.datasource:
name: 'first_datasource',
#other attributes...
지금까지 저는 @Stephane의 제안을 모두 시도했지만 이해합니다.NoSuchBeanDefinitionException
예를 들어 내 실체가Customer
그리고 노력했습니다.
@Service
public class FooService {
private final EntityManager entityManager;
@Autowired
public FooService(@Qualifier("customerEntityManager") EntityManager entityManager) {
...
}
}
하지만 저도 노력했어요.
@PersistenceContext(unitName = "customer") // also tried "customers" and "first_datasource"
private EntityManager entityManager;
불운하게도
어떻게 구성했는지에 따라 다르지만 당신은 그것을 주입하려고 시도해 본 적이 있습니까?EntityManager
그것을 만든 공장에 해당하는 한정자로?
다음은 두 개의 데이터 소스가 있는 샘플 프로젝트입니다.만약 당신이 주사하고 싶다면.EntityManager
순서를 위해, 프로젝트의 아무 봄 콩에서나 다음을 수행합니다.
@Service
public class FooService {
private final EntityManager entityManager;
@Autowired
public FooService(@Qualifier("orderEntityManager") EntityManager entityManager) {
...
}
}
고객의 경우, 다음을 사용합니다.customerEntityManager
.
물론 대신 영구 장치 이름을 사용할 수 있습니다. 즉,
@PersistenceContext(unitName = "customers")
private EntityManager entityManager;
@PersistenceContext(unitName = "orders")
private EntityManager entityManager;
자세한 내용은 프로젝트 구성을 확인하십시오.
언급URL : https://stackoverflow.com/questions/32020249/obtaining-handle-to-entitymanager-in-spring-boot
반응형
'programing' 카테고리의 다른 글
Cloud Firestore에서 기존 번호 필드를 늘리는 방법 (0) | 2023.07.05 |
---|---|
R의 부울 연산자 &&와 ||과 ||의 차이 (0) | 2023.07.05 |
이클립스, 서브클립스 및 전복용 SVN 플러그인의 장단점은 무엇입니까? (0) | 2023.07.05 |
이전 버전의 R 패키지 설치 (0) | 2023.07.05 |
Spring Security 5 Application Runner에서 OAuth2 Secured API를 호출하면 잘못된 인수가 발생함예외. (0) | 2023.07.05 |