例如我应该这样做
class MyObject {
private Long subObjectId; //such as this
private List<Long> subObjectIds; //or this
//bunch of other fields omitted
}
或
class MyObject {
private SubObject mySubObject; //such as this
private List<SubObject> mySubObjectList; //or this
//bunch of other fields omitted
}
哪一种被认为是典型/更好的方法?如果我想从数据库填充像MyObject这样的东西,我不知道我的对象是应该持有ID还是实际填充对象本身。
使用第二种方法被认为是不好的做法,但保持对象为空,直到我需要来填充它们(一种懒惰的人口方法)。
第一种方法的优点是它可以快速轻松地填充,但是如果我想访问ID指向的实际对象,那么我必须查询数据库并填充一些单独与SubObject
分离的MyObject
。
我希望我的问题足够明确。谢谢。
答案 0 :(得分:2)
如果你正在使用一些像hibernate这样的ORM,那么引用就是你的选择。
如果您没有使用ORM,则可以使用ID。如果您在没有ORM的情况下开始使用引用,那么您将开始遇到需要引用但您从数据库接收的所有内容都是id的情况,克服这些情况的唯一方法是编写自己的ORM。不要重新发明那个轮子。