我正在使用JPA2和EclipseLink。我想使用带有@ReadOnly注释的实体。因此,在正常情况下,这些实体不应该作为完整持久性单元上的Java对象进行更改和唯一。
但我怎样才能初始化它们?他们需要以某种方式到达数据库。我可以在特定情况下引导它们 - 例如当我知道没有其他交易和缓存在使用时?
答案 0 :(得分:0)
确实不应该编写@ReadOnly JPA实体,因此不能使用PersistenceManager(通过persist()方法)来初始化它们。但是,您可以创建一个在应用程序启动时运行的实用程序类,它包含一组静态创建的实体,以及一个使用本机查询将它们插入数据库的引导方法。
显然,如何使该类执行将取决于您的应用程序,但我还建议使该类足够智能,只添加数据库中尚未存在的实体。这样,在维护应用程序时,您的类将非常有用。