如何将ArrayList从lambda表达式传递给JPA仓库方法?

huangapple go评论103阅读模式
英文:

How to pass ArrayList to JPA repository method from lambda expression?

问题

这里有一个实体类:

  1. public class Call {
  2. private String uniqId;
  3. private String gwNumber;
  4. }

字符串行:

  1. String line = "qwe-123,10\nrty-345,15\nasd-567,17";

使用"\n"来分隔每个实体的数据:

  1. Arrays.stream(result.split("\n"))
  2. .forEach(
  3. s -> {
  4. String[] callFields = s.split(",");
  5. Call call = new Call();
  6. call.setUniqId(callFields[0]);
  7. call.setGwNum(callFields[1]);
  8. List<Call> callList = new ArrayList<>();
  9. callList.add(call);
  10. }
  11. );

如何将callList传递给JPA repository.saveAll(callList)方法?

英文:

There is entity class:

  1. public class Call {
  2. private String uniqId;
  3. private String gwNumber;
  4. }
  5. String line = &quot;qwe-123,10\nrty-345,15\nasd-567,17&quot;;
  6. Arrays.stream(result.split(&quot;\n&quot;)) // &quot;\n&quot; is used to separate data for each entity
  7. .forEach(
  8. s-&gt; {
  9. String[] callFields = s.split(&quot;,&quot;); // &quot;,&quot; is used to separate data for each filed of entity
  10. Call call = new Call();
  11. call.setUniqId(callFields[0]);
  12. call.setGwNum(callFields[1]);
  13. List&lt;Call&gt; callList = new ArrayList&lt;&gt;();
  14. callList.add(call);
  15. }
  16. );

How to pass callList to JPA repository.saveAll(callList) method ?

答案1

得分: 1

我认为你应该忘记从Stream中调用某物。我不是说这是不可能的,但这并不推荐。

  1. class Call {}
  2. List<Call> callList = Arrays.stream(result.split("\n"))
  3. .map(s -> {
  4. Call call = new Call();
  5. // ...
  6. return call;
  7. })
  8. .collect(Collectors.toList());

List<Call> callList 可以写入数据库。

英文:

I think you should forget to call smth. from Steram. I do not say this is impossible, but it's not recommended.

  1. class Call {}
  2. List&lt;Call&gt; callList = Arrays.stream(result.split(&quot;\n&quot;))
  3. .map(s -&gt; {
  4. Call call = new Call();
  5. // ...
  6. return call;
  7. })
  8. .collect(Collectors.toList());

List&lt;Call&gt; callList could be written into DB.

huangapple
  • 本文由 发表于 2020年9月12日 00:16:57
  • 转载请务必保留本文链接:https://go.coder-hub.com/63850753.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定