@Override
public Future<EntityManagerFactory> getEntityManagerFactory(String datasourceName) {
Properties properties = createProperties();
PersistenceProvider provider = new HibernatePersistenceProvider();
SmartPersistanceUnitInfo persistenceUnitInfo = new DefaultPersistenceUnitInfoImpl(datasourceName);
persistenceUnitInfo.setProperties(properties);
// Using RESOURCE_LOCAL for manage transactions on DAO side.
persistenceUnitInfo.setTransactionType(PersistenceUnitTransactionType.RESOURCE_LOCAL);
Map<Object, Object> configuration = new HashMap<>();
properties.entrySet().stream().forEach(e -> configuration.put(e.getKey(), e.getValue()));
synchronized (vertx) {
Future<EntityManagerFactory> future = Future.future();
vertx.executeBlocking(f1 -> {
config.getJsonArray("annotated_classes", new JsonArray()).stream()
.forEach(p -> scanAnnotatedClasses(p.toString(), persistenceUnitInfo));
EntityManagerFactory emf = provider.createContainerEntityManagerFactory(persistenceUnitInfo, configuration);
future.complete(emf);
}, future.completer());
return future;
}
}
HibernateEntityManagerFactoryProvider.java 文件源码
java
阅读 26
收藏 0
点赞 0
评论 0
项目:vertx-jpa
作者:
评论列表
文章目录