2017-10-11 4 views
0

J'ai une application Web Spring-Boot, et j'ai un jar tiers qui a une couche d'accès aux données. Pour l'utiliser, je dois lui envoyer une référence à une EntityManagerFactory. Je suis en mesure de le faire comme ceci:Printemps JPA de démarrage obtenir la référence à 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); 

Mais comment puis-je obtenir celui qui printemps (je suppose) a déjà construit pour moi quand j'ajoute cela aux application.properties:

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

Je n'ai pas accès au pot, j'ai donc besoin de l'usine, pas du DataSource. Quelqu'un sait-il comment l'obtenir?

+0

-ce que je comprends votre bonne question? Vous souhaitez ajouter les propriétés à votre carte à l'aide du gestionnaire d'entités compiler sur les entrées de votre fichier de propriétés? – Patrick

Répondre

1

Vous pouvez simplement lier automatiquement dans votre haricot:

@Autowired 
private EntityManagerFactory emFactory; 
+0

Je dois vraiment me rappeler que la plupart de ce dont j'ai besoin est déjà là dans Spring Boot. Merci! – mmaceachran