更改数据库表条目会删除它与其他表条目的关联

时间:2019-07-19 21:23:36

标签: java database mamp

我正在为编写用于教育目的的程序而努力寻找问题。我有一些Java类,其中的类设置用于创建客户,而其他类用于设置票证。门票与顾客之间存在一种可能的关系。我正在为数据库使用Mamp。该代码用于创建客户和具有包含具有客户ID的表格列的票证的票证。通过为客户提供的编辑功能可以显示该问题。我可以编辑客户并保存它。但是在“票证”表中,包含客户ID的条目为空。客户保留该ID,但由于某种原因,票务表将其丢失。我不知道任何特定的代码片段可以帮助说明更多的内容,但是我可以重播任何代码。

就像我说的那样,除了那个方面之外,创建和编辑都很好。我已经尝试过放置我认为不需要的代码,但是我想做的只是想让客户ID重新回到票务表上。我编写了一个for循环,使用匹配的客户ID创建票证的数组列表。然后将更新保存到客户信息,然后使用该ID设置那些票证。这不仅是保存客户信息。虽然这不起作用。 虽然我以某种方式测试了代码,但是代码很好,它可以创建新票证并强制使用与实际应有的不同的客户ID。似乎数据库不允许我设置客户ID。我想知道是否是因为这2个表之间的@OneToMany关系存在一些问题,在这里我无法像其他任何事情一样为ID设置不同的信息。

///我认为这应该是peopleDao.save ...,我写了其余的//试图找出一种方法来使数据库更新票证表//保持相同的客户ID

   ArrayList<Ticket> reSetCustomerAssignedTicket = new ArrayList<>();
   for (Ticket ticket : ticketDao.findAll()) {
       if (cxId == ticket.getCustomer().getId()) {
           reSetCustomerAssignedTicket.add(ticket);               
       }
   }
   peopleDao.save(newpeople);
   for (Ticket ticket : reSetCustomerAssignedTicket){
       ticket.setCustomer(peopleDao.findOne(cxId));
       ticketDao.save(ticket);
   }

0 个答案:

没有答案