gpt4 book ai didi

java - 使用 Hibernate 保存列表更改

转载 作者:搜寻专家 更新时间:2023-10-30 19:51:24 26 4
gpt4 key购买 nike

我有一个名为 Token 的对象。它具有 ID、名称和值。将一些数据保存到数据库后,我将它们加载到网页中

_____________________________________________
|____name____|____value____|____operation____|
tkn1 10 ×
tkn2 20 ×

× 符号使我能够从服务器集合中删除 token 现在。我添加了值为 30 的 token tkn3 并删除了 tkn2 所以表格将是:

_____________________________________________
|____name____|____value____|____operation____|
tkn1 10 ×
tkn3 30 ×

有了这些对集合的更改,我如何才能将它们反射(reflect)到数据库中如何判断删除的记录和添加的记录?

我应用了两种解决方案:

  1. 我在业务逻辑层比较了旧数据和新数据并找到然后发送到数据库的两个列表之间的差异,第一个包含添加的 token ,第二个包含要删除的 token 的 ID。
  2. 我向对象添加了一个名为 status 的标志。当我添加标志时,它是新的当我删除时,我只是将标志设置为 DELETE,并在 DB 层中迭代集合一个一个对象并检查标志..如果是 NEW 则添加记录,如果是 DELETE 则将其删除如果已保存(无更改),我不会对其进行任何更改..

我的问题:

  • 这种方式适合做这个任务吗..?
  • 是否有完成此任务的模式?
  • Hibernate 可以帮助我做到这一点吗?

最佳答案

• 这种方法适合做这个任务吗..?没有

• 是否有完成此任务的模式?是的

• Hibernate 可以帮助我做到这一点吗?Hibernate 使用 List 属性的级联属性为这种情况提供了解决方案

引用 http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/collections.html

http://www.mkyong.com/hibernate/hibernate-cascade-example-save-update-delete-and-delete-orphan/

关于java - 使用 Hibernate 保存列表更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12777995/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com