我試圖在GWT-P應用程序中使用Hibernate的EntityManager
。GWT-P + JPA Hibernate EntityManager
不幸的是,它看起來像我不能使用提出PersistFilter
public class MyModule extends ServletModule {
protected void configureServlets() {
install(new JpaPersistModule("myJpaUnit")); // like we saw earlier.
filter("/*").through(PersistFilter.class);
}
}
它會導致ClassCastException
:
org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider cannot be cast to org.hibernate.service.jdbc.connections.spi.ConnectionProvider
所以我想其他的方法(除非你有這一個建議)。
我必須非常接近獲得第一的服務工作,但注入的EntityManager
總是null
public class ImageMetaDataService {
@Inject EntityManager em;
@Transactional
public void createNewImageMetaData(ImageMetaDataImpl imd) {
em.persist(imd);
}
}
我懷疑我做的設置是錯誤的。是否有使用install(new JpaPersistModule("name"));
(在DispatchServletModule
)與加入JpaPersistModule
這樣的區別:
public class MyGuiceServletContextListener extends GuiceServletContextListener {
@Override
protected Injector getInjector() {
return Guice.createInjector(new ServerModule(), new DispatchServletModule(), new JpaPersistModule("name"));
}
}
最後我的最重要的問題:如何將我開始JPA。文檔建議這樣的類:
public class MyInitializer {
@Inject MyInitializer(PersistService service) {
service.start();
// At this point JPA is started and ready.
}
}
但我不明白如何做到這一點(在GWT-P)。
您是否找到解決方案? –