微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – JDO最佳实践:将对象存储为其父级或独立的集合?

我有一个User和Transaction类

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

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

>在JDO的对象世界中我应该这样做吗?存储事务对象与用户对象ID的指针字段分开?或者我应该只查询类型= 1的事务的相应User对象和子查询(例如)?
>如果我只查询User对象,我是否也可以返回给定查询感兴趣的那些Transaction对象(如前面的项目符号示例中所示)?

解决方法

恕我直言,一般来说,没有最好的做法.但是,对于在面向对象的上下文中具有事务的用户,我将为用户建模以使每个事务具有对其用户对象的引用的列表或事务集.

这样,您可以获取用户的所有事务,只需获取用户对象,然后从那里获取事务列表.

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

当然,你应该考虑像懒惰和急切加载这样的设置,这取决于实体在检索后会发生什么(它们是在进程中使用还是被序列化并传输到远程进程等).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐