Java 如何在spring中将表单映射到实体

Java 如何在spring中将表单映射到实体,java,spring,hibernate,bean-validation,Java,Spring,Hibernate,Bean Validation,在我的应用程序中,我有两个单独的类: 1.UserRegistrationForm类是一个表单支持对象,用于验证服务器端的字段。 2.UserEntity是将数据库中的用户表映射到Java对象的ORM类 UserRegistrationForm和UserEntity通常具有相同的字段,如用户名、电子邮件等,但它们也略有不同,例如UserRegistrationForm具有额外的retypedPassword和acceptTerms字段 目前,我的应用程序是这样工作的: 1.应用程序从用户处获取输

在我的应用程序中,我有两个单独的类: 1.UserRegistrationForm类是一个表单支持对象,用于验证服务器端的字段。 2.UserEntity是将数据库中的用户表映射到Java对象的ORM类

UserRegistrationForm和UserEntity通常具有相同的字段,如用户名、电子邮件等,但它们也略有不同,例如UserRegistrationForm具有额外的retypedPassword和acceptTerms字段

目前,我的应用程序是这样工作的: 1.应用程序从用户处获取输入。 2.UserRegistrationForm执行验证。 3.如果没有错误,UserRegistrationForm将映射到UserEntity。 4.UserEntity保存在数据库中


我想知道这是不是一个好的设计。也许我应该直接在我的UserEntity中进行验证?或者可能有一种方法可以自动将表单支持对象映射到实体?

我几天前也遇到了同样的问题,并将表单验证对象与数据库实体对象的映射混淆了

解决方案是,在formValidation中,通常情况下,它有许多字段与一个DB实体不直接相关,而是有一些字段来自其他几个DB实体(或表),还有一些字段与DB实体不相关

在这种情况下,标准方法是验证表单,然后将字段映射到相应的DB Entity和最后一个,保存到数据库中


您所遵循的过程是正确的。

我不敢相信这是唯一的方法,许多框架自动有效并将表单绑定到实体中,spring不行吗?