我有一个User
和Transaction
类
每个Transaction
逻辑上属于User
。但我可能需要查询某些事务子集(例如:使用Transaction.type=1
返回用户A的所有事务)
在SQL中,我只维护一个Transaction.userID
字段,将其与User
表链接。
User
对象ID的字段分开?或者我应该只查询类型= 1(例如)?User
对象,我是否也可以返回给定查询感兴趣的Transaction
个对象(如前面的项目符号示例中所示)?答案 0 :(得分:1)
通过这种方式,您可以获取用户的所有交易,只需获取用户对象,然后从那里获取交易清单。
另一方面,您可以查询限制为特定类型的特定用户的事务。由于每个事务都与用户对象有关联,因此您始终可以“免费”获得正确的上下文。
当然,你应该考虑像懒惰和急切加载这样的设置,这取决于实体在检索后会发生什么情况(它们是在进程中使用还是被序列化并传输到远程进程等)