Spring Boot JPA获取对EntityManagerFactory的引用

时间:2017-10-11 04:52:34

标签: java spring spring-mvc jpa spring-boot

我有一个Spring-Boot Web应用程序,我有一个第三方jar,它有一个数据访问层。为了使用它,我必须向它发送一个EntityManagerFactory的引用。我可以这样做:

    Map<String, String> stg = new HashMap<String, String>();
    stg.put("hibernate.connection.url", "jdbc:mysql://localhost:3306/mydb");
    stg.put("hibernate.connection.username", "name");
    stg.put("hibernate.connection.password", "password");

    EntityManagerFactory fact = MultipleEntityManagerFactoryHolder.getEmf("stg", stg);

但是当我将它添加到application.properties时,如何获得Spring(我假设)已为我构建的那个:

spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useSSL=false
spring.datasource.username=user
spring.datasource.password=password

我无法访问jar,因此我需要工厂,而不是DataSource。任何人都知道怎么做到这一点?

1 个答案:

答案 0 :(得分:1)

你可以简单地在你的bean中自动装配它:

@Autowired
private EntityManagerFactory emFactory;