我有一个关于 Hibernate 对象和使用它的 In Spring MVC Framework 的问题。我有两个对象: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 且名称为“English”的语言,该语言存在于数据库中。当我想在metod addCategory 中显示语言ID(通过category.getLanguage().geiId())时,我的 ID = 4 正确,但是当我想通过category.getLanguage().getName()显示选择的语言名称时,我有无效的。
这可能是因为 Spring 对象类别对 Hibernate 中的关系一无所知。我使用 Hibernate 4、Spring 3,并使用 Spring Bean SessionFactory 连接到 Hibernate。
在 Spring 请求中是否有可能获得完整的递归对象?换句话说:类别中的语言(category.getLanguage())将是 ID = 4 且名称为“English”的完整对象的情况。
谢谢。