Java 如何跳过或删除EntityExistsException的原因?

Java 如何跳过或删除EntityExistsException的原因?,java,database,hibernate,jpa,exception,Java,Database,Hibernate,Jpa,Exception,我读取Json文件地址和参与者。 某些参与者分配了地址。 我坚持使用actors和address,但当我坚持使用actors时,分配的address也会坚持使用,当我坚持使用address时,我会得到EntityExistsException(因为它们具有相同的id)。我的想法是抓住这个例外。我这样做,但如何“跳过”我已经有id的地址 List<Actors> actorsList = objectMapper.readValue(new File("actors.json

我读取Json文件地址和参与者。
某些参与者分配了地址。
我坚持使用actors和address,但当我坚持使用actors时,分配的address也会坚持使用,当我坚持使用address时,我会得到EntityExistsException(因为它们具有相同的id)。我的想法是抓住这个例外。我这样做,但如何“跳过”我已经有id的地址

List<Actors> actorsList = objectMapper.readValue(new File("actors.json"), objectMapper.getTypeFactory().constructCollectionType(List.class, Actors.class));
List<Address> addressList = objectMapper.readValue(new File("addresses.json"), objectMapper.getTypeFactory().constructCollectionType(List.class, Address.class));

 try {
                for (int i=0; i < actorsList.size(); i++) {
                    Actors actors=actorsList.get(i);
                    entityManager.persist(actors);
                    System.out.println(actors);
                }
                for (int i=0; i < addressList.size(); i++) {
                    Address address=addressList.get(i);
                    entityManager.persist(address);
                    System.out.println(address);
                }
catch(EntityExistsException e){ 

            }
List actorsList=objectMapper.readValue(新文件(“actors.json”)、objectMapper.getTypeFactory().constructCollectionType(List.class,actors.class));
List addressList=objectMapper.readValue(新文件(“addresses.json”)、objectMapper.getTypeFactory().constructCollectionType(List.class,Address.class));
试一试{
对于(int i=0;i
您可以首先尝试在数据库中搜索它们,如果它们不存在,则可以将它们保留在数据库中。例如,您可以执行以下操作:

if(entityManager.findOne(actor.getId()).orElse(null) == null) //if it doesn't exist, then it returns null
   entityManager.persist(actor);