我正在开发一个使用SWING的单用户桌面应用程序。我之前有一些此类应用程序的经验,当时我使用了java.sql API,但我意识到这并不舒适...
在我的新应用程序中,我正在尝试首次使用JPA,我阅读了很多教程,几乎都让我明白了我需要知道的所有内容,但没找到一个好的真实Java桌面应用程序的例子。
我想使用以下架构,但不确定是否正确...
我打算创建一个MyPersistenceUnit类:
在我的新应用程序中,我正在尝试首次使用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();
}
}
在应用程序启动时,将首先调用initiate()方法,并在应用程序关闭时调用close()方法。
应用程序运行时,所有事务都将通过getEntityManager()实例完成,该实例可在应用程序中的任何位置访问。如果我正确理解JSE应用程序,则获取的实体管理器具有扩展持久性上下文,而实体管理器未关闭时将保持所有实体处于受管理状态,这就是我这样想的原因...
我不知道是否遗漏了什么,所以任何提示将不胜感激
请注意,我正在使用嵌入式数据库derby的eclipselink提供程序。
谢谢