【问题标题】:does @ModelAttribute in spring MVC have to represent an entity in Hibernate?Spring MVC 中的@ModelAttribute 是否必须代表 Hibernate 中的实体?
【发布时间】:2015-08-07 15:08:58
【问题描述】:

考虑以下示例:

@ModelAttribute("personForm") PersonForm personForm

在一个方法中,现在:

  1. 与 Person 对象相同的 PersonForm 对象是否应该创建为 Hibernate 实体?

或

  1. PersonForm 只是从表单获取输入并在控制器中访问它的方式吗?即利用 Spring MVC 数据绑定。

【问题讨论】:

  • 嘿,谢谢,下一个问题是使用数据绑定的最大好处是什么,我的意思是我们需要编写很多类来获取控制器中的值?我看不出这东西有什么大好处。
  • 可以直接从spring中获取模型类,使用它,它的生命周期将由spring管理。
  • 是的,但是除了通过对象在控制器中获取表单值之外,使用数据绑定还有什么好处呢?
  • 不管你是哪一层……你可以使用这些对象。这就是它的全部意义。

标签: spring spring-mvc model-view-controller


【解决方案1】:

不是 1,但 2 是对的。为方便起见,您可以使用休眠实体,但这不是必需的。

【讨论】:

  • 感谢您的评论,关于 yoru 评论“您可以使用休眠实体为方便起见,但这不是必需的”这是否意味着我选择使用休眠实体并且它不必这样做我们创建的表单类有什么用吗?
  • 没错。如果需要,可以使用与表单对象相同的实体类。如果不这样做,请使用不同的表单类。 hibernate 实体和 MVC ModelAttribute 是不相关的东西。
  • 谢谢,除了可以通过对象获取表单数据之外,使用数据绑定还有什么大的好处吗?我只是觉得这不是很有用
  • 无法准确获取。你的意思是数据绑定有多大用处?或者你在问更喜欢什么?只要实体类具有与表单相似的字段,我更喜欢重用它。为什么不必要地创建另一个类...
  • 好的,我换个说法,1.如果实体类中的字段等于表单中的字段,那么我们可以使用该实体类作为数据绑定类对吗? 2.如果我们不是Hibernate或者ORM,那么单独数据绑定有什么好处呢,好像我们做的太多,得到的太少。
猜你喜欢
  • 2012-12-04
  • 2014-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-26
  • 1970-01-01
  • 1970-01-01
  • 2014-12-29
相关资源
最近更新 更多