Như xa như bạn có thể nhận EntityProvider từ JPARepository hoặc một nơi nào khác mà bạn có thể sử dụng JPAContainer như thế này:
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));
hoặc jsut đơn giản
EntityManager entityManager = getEntityManager(Campaign.class));
JPAContainer<Campaign> container = JPAContainerFactory.make(Campaign.class, entityManager)
Vâng, bạn nên đọc bài sau đây và quyết định xem bạn không muốn sử dụng bạn JPARepository như một lớp mô hình và bọc nó vào BeanItemContainer, cuz JPAContainer có vẻ tốt nhưng có một số vấn đề hiệu suất từ quan điểm của tôi.
JPAContainer issues and different approach
MVP pattern and POJO binding with Hibernate
Nguồn
2013-08-19 06:41:54
Chris, bạn đã tìm thấy giải pháp chưa? Tôi đang đấu tranh với cùng một vấn đề và hiện tại tôi tải một danh sách các thực thể, tạo BeanContainer, thêm các thực thể bên trong trong một chu trình foreach và thêm nó vào bảng. Có cách nào tốt hơn? –
Không, tôi cần tự mình lập JPAContainer. Tôi autowire các EntityMangerFactory và sau đó vượt qua nó để một JPAContainer mới – d0x