作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个 User
和 Transaction
类
每个 Transaction
在逻辑上都属于一个 User
。但我可能需要查询交易的某些子集(例如:使用 Transaction.type=1
返回用户 A 的所有交易)
在 SQL 中,我只维护一个 Transaction.userID
字段,将其与 User
表链接。
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/
我是一名优秀的程序员,十分优秀!