I have a Customer table with these fields: ID, name, age, phoneNumber, content, address.

with name+age+phoneNumber is unique.

I have an upsert POST API with request body:

```
[
   {
      "name": "A",
      "age": 100,
      "phoneNumber": 1000,
      "content": "content",
      "address": "address"
   }, ...
]

```

My requirement here check if name+age+phoneNumber existed, make a customer update. If not, do a customer insert.
And my solution is: loop the request list -> check DB based on name+age+phoneNumber to separate into 2 lists: insertList and updateList. After that using saveAll() on each list.

But if the list has 1000 record, I need to hit the DB 1000 times to separate. I think my solution is not good, so do you have another solution with better performance? I am using java 8 and oracle DB.