gpt4 book ai didi

java - JDO 最佳实践 : Store objects as a collection under their parent or independently?

转载 作者:搜寻专家 更新时间:2023-11-01 03:44:39 25 4
gpt4 key购买 nike

我有一个 UserTransaction

每个 Transaction 在逻辑上都属于一个 User。但我可能需要查询交易的某些子集(例如:使用 Transaction.type=1 返回用户 A 的所有交易)

在 SQL 中,我只维护一个 Transaction.userID 字段,将其与 User 表链接。

  • 在 JDO 的对象世界中,我应该做同样的事情吗?存储事务对象与指向 User 对象 ID 的指针字段分开?或者我应该只查询适当的 User 对象和 type=1 交易的子查询(例如)?
  • 如果我只查询 User 对象,我是否也可以只返回给定查询感兴趣的那些 Transaction 对象(如前面的项目符号示例)?

最佳答案

恕我直言,一般没有最佳实践。但是,对于在面向对象的上下文中进行交易的用户,我会将用户建模为具有一个列表或一组交易,每个交易都引用其用户对象。

通过这种方式,您可以获取用户的所有交易,只需获取用户对象,然后从那里获取交易列表。

另一方面,您可以查询仅限于特定类型的特定用户的交易。由于每个事务都与用户对象相关联,因此您始终可以“免费”获得正确的上下文。

当然,您还应该考虑延迟加载与急切加载等设置,这取决于实体在检索后发生的情况(它们是在进程内使用还是序列化并传输到远程进程等) .

关于java - JDO 最佳实践 : Store objects as a collection under their parent or independently?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4861660/

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