如何使用Spring Data Repositories作为Vaadin JPAContainer

d0x*_*d0x 10 java spring vaadin spring-data-jpa

是否可以org.springframework.data.jpa.repository.JpaRepositoryJPAContainerVaadin 一样使用存储库?

我们正在从Spring开始设立一个新的Vaadin 7项目.

Spring集成是使用Spring Vaadin Integration Addon完成的.

Mil*_*ran 1

只要您可以从 JPARepository 或其他地方获取 EntityProvider,您就可以像这样使用 JPAContainer:

EntityManager entityManager = getEntityManager(Campaign.class));
MutableLocalEntityProvider<Campaign.class)> provider;
provider = new CachingMutableLocalEntityProvider<Campaign.class)>(Campaign.class), entityManager);
provider.setTransactionsHandledByProvider(false);
JPAContainer<Campaign> container = new JPAContainer<Campaign>(Campaign.class);       container.setEntityProvider(EntityProviderUtil.get().getEntityProvider(Campaign.class));
Run Code Online (Sandbox Code Playgroud)

或者只是简单

EntityManager entityManager = getEntityManager(Campaign.class));
JPAContainer<Campaign> container = JPAContainerFactory.make(Campaign.class, entityManager)
Run Code Online (Sandbox Code Playgroud)

好吧,您应该阅读以下文章并决定是否不想使用 JPARepository 作为模型层并将其包装到 BeanItemContainer 中,因为 JPAContainer 看起来不错,但从我的角度来看存在一些性能问题。

JPAContainer 问题和不同的方法

MVP 模式以及 POJO 与 Hibernate 的绑定