0
我正在使用Spring JDBC進行應用程序的開發,並且遇到了一個問題。在我的領域層,我有領域;原始類型和對象關聯。如果一個人屬於市,我有:Spring JDBC一對一關係
public class Person {
private Municipality municipality;
// More code
}
public class Municipality {
// More code
}
在數據庫中,你與主+外鍵建模。在這種情況下,個人表具有市政表主鍵的外鍵。我已經爲人和市建立了一個倉庫。現在我想檢索一個人,但我也想同時連接市政府。
我做的第一件事就是找到使用Person存儲庫的人。然後我想找到屬於這個人的市政府。然而目前我沒有在我的域對象中建模的外鍵。這意味着,我在Person類中沒有private int municipality_id
字段。這將導致域對象與數據庫耦合(至少現在是關於它)。
發出另一個查詢只是爲了找到municipality_id感覺不正確。我怎麼解決這個問題?不過,我需要municipality_id找到市政府。
在模型中添加市政ID或使用ORM(JPA,Hibernate等)。注意:模型表示來自數據庫的數據。有一個外鍵字段的問題是什麼? – 2013-03-23 00:06:14
這不意味着域層「知道」我使用數據庫進行持久性嗎?我的意思是,爲什麼你會在模型中擁有外鍵?或者它是okey? – LuckyLuke 2013-03-23 00:08:46
@LuckyLuke所有領域層知道的是,你可以用一個唯一的數字來標識其他類型的實體,這個數字可以讓你從* some *持久存儲庫中獲取它們。不幸的是,我不確定如何讓域類完全不會被持久化。 – millimoose 2013-03-23 00:10:26