java - Swagger OpenAPI 模型与 JPA 实体之间的映射

标签 java hibernate jpa swagger swagger-codegen

我正在尝试在我的 Java REST-API 中映射 openAPI 模型(使用 Swagger codegen 生成)和 JPA 实体(从 Hibernate 中的数据库模式生成),以便我可以使用 JPA(hibernate) 实体将接收到的模型保存到数据库中,并使用模型创建响应以从数据库中获取数据。

我知道我可以分别创建使用模型和实体,并创建一种从一个模型转换为另一个模型的机制。但是,如果模型中的数据库或字段有任何更改,我需要同时更新模型和实体,这很麻烦。

有什么方法可以定义模型/实体,使其可以在 Swagger 和 Hibernate JPA 中使用?并且不需要创建它们(这是多余的)

最佳答案

经过一些研究,我发现了 DTO(数据传输对象)的概念,它可以根据您对 API 调用的响应映射到您的模型。

您可以使用 ModelMapper 或创建自定义映射器来执行从模型到 DTO 的转换。

您可以在 spring boot(Gradle) 中为 ModelMapper 使用以下包:

implementation 'org.modelmapper:modelmapper:2.3.0'

关于java - Swagger OpenAPI 模型与 JPA 实体之间的映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55481473/

相关文章:

java - 向 inputText 添加掩码后丢失默认输入

java - 安卓:下载对象

java 分割后字符串的最大值

java - 带 spring 的抽象类变量

java - REQUIRES_NEW 在 spring+hibernate 中不创建新事务

java - 使用 Spring、JPA 和 Hibernate 访问在 Jboss 中配置的多个数据库/数据源

java - 将数组分成更小的部分

java - 为 LocalSessionFactoryBean 映射位置指定正则表达式

mysql - Hibernate建表不成功,sql语法错误

java - 执行 EntityManagerFactory.createEntityManager() 每次都会返回新实例吗?