java - Hibernate 模型对象作为 VO 对象

标签 java hibernate

大多数时候,我得到的建议是不要使用 hibernate 模型对象作为我的值对象或 UI 对象。如果我在 UI 中使用 Hibernate 模型对象作为 VO 对象或表单对象会出现任何问题吗?如果可以使用,我可以避免在 VO 和模型对象之间复制值。

最佳答案

我认为你是对的,没有任何问题。这是一个上下文问题。

Hibernate 模型对象是简单的 POJO,附加了一些元数据(注释)。在持久层,这个元数据意味着一些东西,但在 View 层,它没有任何意义。

这样在 View 层它充当 VO,但在持久层它充当模型对象,因此它确实消除了对单独 VO 的需要。

这就是元数据的美妙之处。

如果您担心对象从 UI 传输到数据库的安全性,那么这将是另一个主题。

有多种方法可以确保安全性,但基本上可以通过使用适当的身份验证和授权机制、带参数的查询和/或 Criteria API 来实现。

有关更多信息,请查看 thisthis .

希望对您有所帮助。

关于java - Hibernate 模型对象作为 VO 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23463412/

相关文章:

java - 如何在 Java 中执行 shell 命令?

java - WebSphere MQ 配置问题

java - 无法摆脱: javax. persistence.spi.PersistenceUnitInfo.getValidationMode()Ljavax/persistence/ValidationMode;

java - org.hibernate.exception.JDBCConnectionException : Could not open connection

mysql - Hibernate 多对多映射和查询

java - JPA继承@EntityGraph包括子类的可选关联

java - 使用 hibernate 获得更少的列

java - Android 检索联系人数据时出现 RuntimeException

java - 一个对象可以有多个比较方法来根据不同的值进行排序吗?

java - 如何验证 ER.RTR.RT12345 的 URL 模式?