因此,在最近的一個項目(一個小型內部工具)中,我想用而不是來使用我們通常在我們所有項目中使用的ORM工具。原因在於,我特別不喜歡它們,特別是在複雜對象層次和關係的複雜項目中。使用ORM很難調試性能問題以及ORM庫可能在封面上進行「優化」的許多事情引發的其他問題。從數據庫加載時代表不完整的對象
所以當我沒有ORM工具的幫助時,我正在考慮一種惰性加載對象的某些屬性的方法。假設一個例子:
class Student {
private List<Course> courses;
public List<Course> getCourses() {...}
public void setCourses(List<Course> courses) {...}
}
所以在這種情況下,我們把「課程」懶散。所以我想要一種方法來區分「數據庫」沒有從數據庫中加載的情況,以及即使從數據庫中獲取「課程」實際上爲空的情況。
什麼是我能達到它的典型方法。我在想,可能會關聯一個類型爲「Course」的特殊空對象,表示數據庫中實際上不存在任何數據。而java null意味着數據不會從數據庫中獲取。但是這樣做會打破抽象的意義,因爲這種屬性的獲取者需要做出訪問DAO以獲取數據的決定。