【发布时间】:2017-11-21 17:52:36
【问题描述】:
我一直想知道如何在我的应用程序中设计实体之间的关系,我对此有点陌生。你能帮忙吗?
什么应用程序? - 上下文
我正在尝试开发一个应用程序来帮助人们跟踪他们的开支、计算统计数据等,作为一个业余项目来训练我在全栈开发方面的低技能。这个想法是用户登录并可以添加费用,例如以 3 美元购买的鸡,应用程序将根据重复输入计算他的费用统计信息。
我需要了解什么?
我已经完成了用户注册和登录,现在正在创建“SingleExpense”实体类。我想知道在这个特定的用例中,费用和用户之间的关系应该是怎样的。
- 用户是否应该将一组费用作为带有@OneToMany 注释的字段?但是每当我获取用户时,我将永远得到他的所有费用,对吗?我可能会懒惰地使用 FetchType 或其他方法,但我正在寻找最干净、正确的解决方案。
- Expense 是否应该将 User 作为带有 @ManyToOne 注释的字段?但是,如果我尝试获取所有费用,用户对象将被获取,对吗?如果我想坚持一个新的费用,我需要将整个用户对象放入费用中,是吗?
- 或者由于某种原因它应该是双向的?
我对此感到非常困惑,我希望你们能尝试向我解释什么有效,什么无效以及为什么。非常感谢!干杯!
【问题讨论】:
标签: database jpa relationship