【问题标题】:How to persist some contents from a list of entities如何从实体列表中保留一些内容
【发布时间】:2011-11-01 15:47:54
【问题描述】:

我想知道是否有使用 EclipseLink 实现以下目标的“正确”方法。我有一个对象列表

List<MyType> newList

在我的应用程序启动时,我想检查它的所有内容是否已经持久化(在我的应用程序的先前部署期间),如果没有,我想持久化所有新内容。 目前我正在获取这样的已经持久化的实体:

List<Video> oldList = em.createQuery("select v from MyType v").getResultList();

所以我有两个列表,理想情况下我希望达到一个点,即 newList 的所有内容都被持久化。

请注意,oldList 将始终是 newList 的子列表,从某种意义上说,newList 将始终至少包含 oldList 所包含的内容。

谢谢

【问题讨论】:

  • 所以您对当前的设计不满意?
  • 其实我也不知道怎么弄。

标签: java jpa-2.0 eclipselink


【解决方案1】:

在我看来,您刚刚发布了针对您的问题的解决方案 :-)

如果您能够在应用程序启动期间获得oldList,那么您可能只需遍历newList 并为每个对象检查oldList.contains(yourObject)

如果没有 - 坚持下去;如果确实如此 - 只需移动到下一个元素。

您只需要确保您已经为您的对象正确实现了 equals(),因为它将用于检查相等性。

HTH。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-25
    相关资源
    最近更新 更多