0

来自吉利德官方网站:

请注意,您仍然必须使用关联的 PersistenceUtil、代理存储和可能的类映射器正确初始化 PersistentBeanManager。这必须在任何远程调用之前、远程服务构造函数或继承的“init”方法中完成(不要忘记调用 super.init() !):

public UserRemoteImpl()
{
HibernateUtil hibernateUtil = new HibernateUtil(MyApplicationHibernateUtil.getSessionFactory());

PersistentBeanManager persistentBeanManager = GwtConfigurationHelper.initGwtStatelessBeanManaer(hibernateUtil);

setBeanManager(persistentBeanManager);
}

我使用JPA,我必须做一些不同的事情吗?

4

1 回答 1

2

如果您将 JPA 与 Hibernate 一起使用,则可以HibernateJpaUtil这样使用:

String PERSISTENCE_UNIT_NAME = "...";
EntityManagerFactory emf = 
    Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);

HibernateJpaUtil hibernateJpaUtil = new HibernateJpaUtil();
hibernateJpaUtil.setEntityManagerFactory(emf);

PersistentBeanManager persistentBeanManager =
    GwtConfigurationHelper.initGwtStatelessBeanManager(hibernateJpaUtil);

setBeanManager(persistentBeanManager);

如果您将 JPA 与 Hibernate 之外的其他实现一起使用,那么您目前可能不走运 - 或者您必须IPersistenceUtil自己实现。

http://noon.gilead.free.fr/gilead/index.php?page=overview

即使目前仅支持 Hibernate,也计划支持 OpenJPA 和 EclipseLink

于 2011-04-06T18:55:01.953 回答