GWT-P 응용 프로그램에서 최대 절전 모드의 EntityManager
을 사용하려고합니다. 내가 제안 PersistFilter
GWT-P + JPA Hibernate EntityManager
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);
}
}
입니다. 이 같은 JpaPersistModule
를 추가 대 (DispatchServletModule
에서) install(new JpaPersistModule("name"));
사용에 차이가 있습니다 :
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에) 그렇게하는 방법을 볼 수 없습니다 : 문서 클래스 다음과 같이 제안한다.
해결책을 찾았습니까? –