现在是2019年,我仍在将DTO映射到JPA实体并返回。
现在我正在使用ModelMaper为我完成繁重的工作,但我想知道是否有一种方法可以避免必须一起创建单独的实体?
我尝试使用@MappedSuperclass装饰共享的DTO(位于多个Spring Boot 2微服务项目使用的库中),然后将其扩展到一个实体,该实体仅定义ID属性以至少获得一些继承。我知道Jackson可以将JSON直接转换为实体,但是此DTO在持久化的过程中需要通过几个不同的服务,我希望这些服务从共享库中共享一个DTO定义。我发现,然后任何其他想要使用该库的项目都必须为该微服务实现/配置JPA,恕我直言,这在没有JPA需求的轻量级Web服务中并不理想。否则,我会遇到运行时异常。
似乎应该有一种用JPA注释装饰DTO的方法,或者某种其他方法可以允许通过JPA持久化DTO,而不必维护和映射到一个单独的实体类或从一个单独的实体类进行映射。
有没有办法做到这一点?
感谢所有帮助。