簡體   English   中英

使用第三方庫在Java中映射兩個相同的類

[英]Mapping two identical classes in java with third party library

我需要將一個對象轉換為另一個對象。該對象嵌套了許多內部對象。但是源對象和目標對象在數據類型,變量名,類名等方面都是相同的。有沒有什么有效的工具可以用更少的編碼做到這一點。

我已經嘗試過orika,但其期望如下定義

factory.registerClassMap(factory
                .classMap

包含所有字段和內部對象字段。最后我得到了很多迭代器並設置了字段映射。

幫助我或指導我還有其他方法可以將具有相同對象的對象映射。

您可以看看MapStruct

另一種選擇是推土機 通過在映射器xml文件中定義wildcard="true"屬性,可以一對一地映射類。 這意味着它將自動嘗試映射兩個對象中的每個屬性。 當該屬性設置為false時,它將僅映射顯式定義的字段。

<?xml version="1.0" encoding="UTF-8"?>
<mappings xmlns="http://dozer.sourceforge.net"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://dozer.sourceforge.net
          http://dozer.sourceforge.net/schema/beanmapping.xsd">

    <mapping wildcard="true"> 
        <class-a>org.example.ObjectA</class-a>
        <class-b>org.example.ObjectB</class-b>   
    </mapping> 
</mappings>

最好使用適當的克隆庫,請檢查此http://blog.jadira.co.uk/blog/2013/6/25/announcing-jadira-cloning.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM