【发布时间】:2011-11-21 10:46:29
【问题描述】:
我正在使用 SWING 开发单用户桌面应用程序。我对这种使用 java.sql api 的应用程序有一点经验,并发现它根本不舒适......
在我的新应用程序中,我第一次尝试使用 JPA,我阅读了很多教程,这些教程让我几乎了解了我需要的所有内容,但没有找到真正的 java 桌面应用程序的好例子.
我正在考虑使用以下架构,但不知道我是否正确...
我想创建一个 MyPersistenceUnit 类:
public class MyPersistenceUnit {
private static EntityManagerFactory factory;
private static EntityManager entityManager;
public static void initiate(){
factory=Persistence.createEntityManagerFactory("PU_Name");
entityManager=factory.createEntityManager();
}
public static EntityManager getEntityManager() {
return entityManager;
}
public static void close(){
entityManager.close();
factory.close();
}
}
initial() 方法将首先被调用,而 close() 方法将在应用程序关闭时被调用。
当应用程序运行时,所有事务都将通过 getEntityManager() 实例完成,该实例可在应用程序的任何位置访问。如果我对 JSE 应用程序的理解是正确的,则获得的实体管理器具有扩展的持久性上下文,它将使所有实体保持在托管状态,而实体管理器不会关闭,这就是让我这样想的原因 ...
我不知道我是否遗漏了什么,所以任何提示将不胜感激
请注意,我将 eclipselink 提供程序与 derby 嵌入式数据库一起使用。
谢谢
【问题讨论】:
-
看不出这个问题和Swing有什么关系。
-
抱歉,我已经删除了标签
标签: java jpa desktop-application eclipselink