Jakarta ee 如何使用jpa和EJB3模拟数据库

Jakarta ee 如何使用jpa和EJB3模拟数据库,jakarta-ee,mocking,ejb-3.0,rad,Jakarta Ee,Mocking,Ejb 3.0,Rad,我被指派开发EJB3,jpa应用程序。我需要在年底前至少提供一个演示,但我有两个问题:这是我第一个使用ejb和jpa的项目,那么我可能在短时间内没有可用的db。我希望更多有经验的开发人员对我所选择的尝试方式发表意见,并就如何解决一些具体问题提供一些提示。 我将向工作区添加一个jpa项目(我使用的是RationalApplicationDeveloper),其中包含我需要的所有实体,但我不会将它们映射到任何表中,这样它们将立即可用于会话bean,并准备在创建db时进行映射。 这个伟大的计划中有两个

我被指派开发EJB3,jpa应用程序。我需要在年底前至少提供一个演示,但我有两个问题:这是我第一个使用ejb和jpa的项目,那么我可能在短时间内没有可用的db。我希望更多有经验的开发人员对我所选择的尝试方式发表意见,并就如何解决一些具体问题提供一些提示。 我将向工作区添加一个jpa项目(我使用的是RationalApplicationDeveloper),其中包含我需要的所有实体,但我不会将它们映射到任何表中,这样它们将立即可用于会话bean,并准备在创建db时进行映射。
这个伟大的计划中有两个缺陷:如何模拟entitymanager来稳定实体bean,最重要的是,如何模拟数据库?我需要在我的演示中执行插入、更新和检索操作。设置一个单例(比如entityManagerMock)来保存一些伪造表的字典是否合理?

您是否考虑过使用诸如HSQLDB或H2之类的内存中数据库?。我认为这比模仿PersistenceContext和EntityManager要容易得多。JPA提供了创建表结构的功能,因此您不必担心结构的更新,因为您的数据库将在内存上运行