【问题标题】:Is there any way to persist the entity having multiple map elements at one go?有没有办法一次性持久化具有多个地图元素的实体?
【发布时间】:2020-06-05 15:45:48
【问题描述】:

我正在努力寻找减少代码重复的方法。像这段代码一样,我的班级中有多个 Map 元素。如果你有什么,请给我建议..!

public Class MyObject{
private Map map1;
private Map map2;
private Map map3;

//having setter/getter
}

importDatabase(){
//here i have data in the map1, map2, map3 elements
 importMap(MyObject.getMap1());
importMap(MyObject.getMap2());
importMap(MyObject.getMap3());
}

importMap(Map map){
//want to insert map objects into database at one go, instead of creating 3 methods for each type
Iterator iterator = map.values().iterator;
while(iterator.hasNext(){
}
}

【问题讨论】:

  • 我建议您查看发布问题的 SO 指南。
  • @Pramod 是的,我会的。

标签: java jpa collections persist


【解决方案1】:

如果您有许多相同类型的相似对象(maps 在您的情况下)并对所有对象执行相同的操作(将它们放入数据库中),这是一种简单且通常可行的方法避免重复是将它们存储在 arrayArrayList 中(如果您不知道它们有多少)并在 中执行操作forforeach 循环。

使用三个元素并不总是值得付出努力,实际上会使代码的可读性不如以前。这只会使您的代码更短,而不会提高性能(我认为这就是您一次性的意思)。

【讨论】:

  • 我的类中有 10 个这样的地图元素,它们与不同的实体相关,我想创建 1 个方法来将这些实体保存在数据库中,而不是为每个地图元素创建 10 个不同的方法
猜你喜欢
  • 2016-06-10
  • 1970-01-01
  • 1970-01-01
  • 2012-12-17
  • 1970-01-01
  • 1970-01-01
  • 2020-05-05
  • 2011-05-31
  • 2011-05-06
相关资源
最近更新 更多