복붙노트

[SPRING] 어떻게 클래스 내에서 Jpa 저장소를 동적으로 생성합니까?

SPRING

어떻게 클래스 내에서 Jpa 저장소를 동적으로 생성합니까?

어떻게 클래스 내에서 jpa 저장소를 만들고 인스턴스화합니까? 저는 제네릭 클래스 내부의 다른 엔티티에 대한 저장소를 만들어야하는 상황에 처해 있습니다.

네오 지 (Neo4j) 저장소처럼 쉽게 할 수있어.

GraphRepository<T> graphRepository;

this.neo4jTemplate = new Neo4jTemplate(new RestGraphDatabase(
    "http://localhost:7474/db/data"));
this.graphRepository = neo4jTemplate.repositoryFor(domainClass); 

JpaRepository 들어, 내가 설명서를 확인하고 이것을 발견,

RepositoryFactorySupport factory = … // Instantiate factory here
UserRepository repository = factory.getRepository(UserRepository.class);

위 코드에서 factory를 인스턴스화하는 방법을 잘 모르겠습니다.

또한 도메인 클래스를 지정하여 Neo4j처럼 저장소를 만들 수 없습니까?

해결법

  1. ==============================

    1.나는 마침내이 방법으로 일하게 만들었고,

    나는 마침내이 방법으로 일하게 만들었고,

    SimpleJpaRepository<User, Serializable> jpaRepository;
    jpaRepository = new SimpleJpaRepository<User, Serializable>(
        User.class, entityManager);
    

    SimpleJpaRepository를 사용하면 모든 저장소 방법을 사용할 수 있습니다.

    jpaRepository.save(user);
    
  2. from https://stackoverflow.com/questions/22116005/how-to-create-jpa-repository-dynamically-inside-a-class by cc-by-sa and MIT license