HibernateオブジェクトとそのInSpringMVCFrameworkの使用について質問があります。2つのオブジェクトがあります:ManyToOne関係のカテゴリと言語:
@ManyToOne
@JoinColumn(name="language_id")
public Language getLanguage() {
return language;
}
言語を選択して新しいカテゴリを作成するアクションを作成したいと思います。私のフォームは次のようになります。
<form:form modelAttribute="addCategory" name="frm" method="post">
<form:select path="language.id">
<form:options items="${languages}" itemValue="id" itemLabel="name" />
</form:select>
//Other Fields like name etc.
</form:form>
コントローラのPOSTメソッドには次のものがあります。
@RequestMapping(method = RequestMethod.POST, value="/add_category")
public String addCategory(Category category){
//code for save, redirect etc.
}
データベースに存在するID=4で名前が「英語」の言語を選択したとします。metod addCategoryで言語IDを表示したい場合(category.getLanguage()。geiId()で)ID = 4を正しく持っていますが、選択した言語名をcategory.getLanguage()。getName()で表示したい場合ヌル。
これは、おそらく、SpringオブジェクトカテゴリがHibernateのリレーションについて何も知らないためです。私はHibernate4、Spring 3を使用しており、SpringBeanSessionFactoryを使用してHibernateに接続しています。
Springリクエストで完全な再帰オブジェクトを取得する可能性はありますか?言い換えると、カテゴリ内の言語(category.getLanguage())がID=4で名前が「English」の完全なオブジェクトになる状況です。
ありがとう。