我有一个Spring-Boot Web应用程序,还有一个具有数据访问层的3rd party 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。有人知道该怎么做吗?

最佳答案

您可以将其自动连接到bean中:

@Autowired
private EntityManagerFactory emFactory;

07-24 09:19