验证删除记录ActiveJDBC

时间:2017-08-04 01:21:47

标签: activejdbc javalite

如果我想在删除记录时进行验证,最好的方法是什么? 这就是原因。

我有两张桌子,Store和Staff。

商店结构:

  • ID
  • 商店代码
  • 商店名称

员工结构:

  • ID
  • 员工守则
  • 员工姓名
  • 商店代码

如您所见,表存储与表工作人员相关。

如果用户尝试删除已在桌面工作人员上使用的商店,该怎么办? 如果没有验证,我的数据将被破坏。我该如何预防?

感谢。

1 个答案:

答案 0 :(得分:1)

实现它的最佳方式是通过数据库中的引用完整性,而不是框架中的引用完整性。

STORE的结构:

  • ID
  • 名称

STAFF的结构:

  • ID
  • 名称
  • STORE_ID

如您所见,STAFF表“属于”STORE,因为它包含父记录的ID。这是一个经典的一对多关联:http://javalite.io/one_to_many_associations

你可以做以下两件事之一:

  1. 如果您要删除父级而不删除子级,则从DB中抛出异常
  2. 如果父项被自动删除(在DB中),则级联删除子项
  3. Google建议的一些链接:

    https://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html http://www.mysqltutorial.org/mysql-on-delete-cascade/