簡體   English   中英

帶注釋的推土機地圖列表

[英]Dozer map list with annotations

如何使用推土機和注解正確映射地圖

沒有列表,一切正常

推土機版本6.1.0

http://dozer.sourceforge.net/documentation/collectionandarraymapping.html如何在注釋上呈現b提示

@Entity
@Table(name = "PRODUCT_THEME")
@Data
public class ProductTheme implements Serializable {
    @Id
    @GeneratedValue(generator = "PRODUCT_THEME_SEQ", strategy = GenerationType.SEQUENCE)
    @SequenceGenerator(name = "PRODUCT_THEME_SEQ", sequenceName = "PRODUCT_THEME_SEQ", allocationSize = 1)
    @Column(name = "ID", updatable = false, nullable = false)
    @Mapping("id")
    private Integer id;
    @Column(name = "DESCRIPTION", length = 100)
    @Mapping("description")
    private String description;
    @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    @JoinTable(name = "PRODUCT_THEME_IMAGE", joinColumns = { @JoinColumn(name = "THEME_ID", nullable = false, updatable = false) }, inverseJoinColumns = {
                                    @JoinColumn(name = "IMAGE_ID", nullable = false, updatable = false) })

    **@Mapping("imagesList")**

    private List<Images> imagesList;
    @Column(name = "ACTIVE", nullable = false)
    @Mapping("active")
    private Boolean active;
...
}

一切正常,但是當我嘗試獲取地圖列表時,出現錯誤

如何在不配置xml的情況下解決此問題?

Caused by: java.lang.StackOverflowError
    at java.util.AbstractCollection.toString(AbstractCollection.java:454)
    at java.util.Vector.toString(Vector.java:1000)
    at org.eclipse.persistence.indirection.IndirectList.toString(IndirectList.java:890)
    at java.lang.String.valueOf(String.java:2994)
    at java.lang.StringBuilder.append(StringBuilder.java:131)
    at by.softclub.model.entity.Images.toString(Images.java:15)
    at java.lang.String.valueOf(String.java:2994)
    at java.lang.StringBuilder.append(StringBuilder.java:131)
    at java.util.AbstractCollection.toString(AbstractCollection.java:462)
    at java.util.Vector.toString(Vector.java:1000)
    at org.eclipse.persistence.indirection.IndirectList.toString(IndirectList.java:890)
    at java.lang.String.valueOf(String.java:2994)
    at java.lang.StringBuilder.append(StringBuilder.java:131)
    at by.softclub.model.entity.ProductTheme.toString(ProductTheme.java:21)
    at java.lang.String.valueOf(String.java:2994)
    at java.lang.StringBuilder.append(StringBuilder.java:131)
    at java.util.AbstractCollection.toString(AbstractCollection.java:462)
    at java.util.Vector.toString(Vector.java:1000)
    at org.eclipse.persistence.indirection.IndirectList.toString(IndirectList.java:890)
    at java.lang.String.valueOf(String.java:2994)
    at java.lang.StringBuilder.append(StringBuilder.java:131)
    at by.softclub.model.entity.Images.toString(Images.java:15)
    at java.lang.String.valueOf(String.java:2994)
    at java.lang.StringBuilder.append(StringBuilder.java:131)
    at java.util.AbstractCollection.toString(AbstractCollection.java:462)
    at java.util.Vector.toString(Vector.java:1000)
    at org.eclipse.persistence.indirection.IndirectList.toString(IndirectList.java:890)
    at java.lang.String.valueOf(String.java:2994)
    at java.lang.StringBuilder.append(StringBuilder.java:131)
    at by.softclub.model.entity.ProductTheme.toString(ProductTheme.java:21)
    at java.lang.String.valueOf(String.java:2994)
    at java.lang.StringBuilder.append(StringBuilder.java:131)
    at java.util.AbstractCollection.toString(AbstractCollection.java:462)
    at java.util.Vector.toString(Vector.java:1000)
    at org.eclipse.persistence.indirection.IndirectList.toString(IndirectList.java:890)
    at java.lang.String.valueOf(String.java:2994)
    at java.lang.StringBuilder.append(StringBuilder.java:131)
    at by.softclub.model.entity.Images.toString(Images.java:15)
    at java.lang.String.valueOf(String.java:2994)
    at java.lang.StringBuilder.append(StringBuilder.java:131)
    at java.util.AbstractCollection.toString(AbstractCollection.java:462)
    at java.util.Vector.toString(Vector.java:1000)
    at org.eclipse.persistence.indirection.IndirectList.toString(IndirectList.java:890)
    at java.lang.String.valueOf(String.java:2994)
    at java.lang.StringBuilder.append(StringBuilder.java:131)
    at by.softclub.model.entity.ProductTheme.toString(ProductTheme.java:21)
    at java.lang.String.valueOf(String.java:2994)
    at java.lang.StringBuilder.append(StringBuilder.java:131)
    at java.util.AbstractCollection.toString(AbstractCollection.java:462)
    at java.util.Vector.toString(Vector.java:1000)
    at org.eclipse.persistence.indirection.IndirectList.toString(IndirectList.java:890)
    at java.lang.String.valueOf(String.java:2994)
    at java.lang.StringBuilder.append(StringBuilder.java:131)
    at by.softclub.model.entity.Images.toString(Images.java:15)
    at java.lang.String.valueOf(String.java:2994)
    at java.lang.StringBuilder.append(StringBuilder.java:131)
    at java.util.AbstractCollection.toString(AbstractCollection.java:462)
    at java.util.Vector.toString(Vector.java:1000)
    at org.eclipse.persistence.indirection.IndirectList.toString(IndirectList.java:890)
    at java.lang.String.valueOf(String.java:2994)
    at java.lang.StringBuilder.append(StringBuilder.java:131)
    at by.softclub.model.entity.ProductTheme.toString(ProductTheme.java:21)
    at java.lang.String.valueOf(String.java:2994)
    at java.lang.StringBuilder.append(StringBuilder.java:131)
    at java.util.AbstractCollection.toString(AbstractCollection.java:462)
    at java.util.Vector.toString(Vector.java:1000)
    at org.eclipse.persistence.indirection.IndirectList.toString(IndirectList.java:890)
    at java.lang.String.valueOf(String.java:2994)
    at java.lang.StringBuilder.append(StringBuilder.java:131)
    at by.softclub.model.entity.Images.toString(Images.java:15)
    at java.lang.String.valueOf(String.java:2994)
    at java.lang.StringBuilder.append(StringBuilder.java:131)
    at java.util.AbstractCollection.toString(AbstractCollection.java:462)
    at java.util.Vector.toString(Vector.java:1000)
    at org.eclipse.persistence.indirection.IndirectList.toString(IndirectList.java:890)
    at java.lang.String.valueOf(String.java:2994)
    at java.lang.StringBuilder.append(StringBuilder.java:131)
    at by.softclub.model.entity.ProductTheme.toString(ProductTheme.java:21)
    at java.lang.String.valueOf(String.java:2994)
    at java.lang.StringBuilder.append(StringBuilder.java:131)
    at java.util.AbstractCollection.toString(AbstractCollection.java:462)
    at java.util.Vector.toString(Vector.java:1000)
    at org.eclipse.persistence.indirection.IndirectList.toString(IndirectList.java:890)
    at java.lang.String.valueOf(String.java:2994)
    at java.lang.StringBuilder.append(StringBuilder.java:131)
    at by.softclub.model.entity.Images.toString(Images.java:15)

來自Lomdok和Dozer的omomibility @Date(@toString)錯誤

為了防止lombok的ToString()遞歸運行,應該排除鏈接字段。 hashCode()相同:

@Entity
@Table(name = "PRODUCT_THEME")
@Data
@lombok.ToString(exclude="imagesList")
@lombok.EqualsAndHashCode(exclude="imagesList")
public class ProductTheme implements Serializable {
    ...
}

暫無
暫無

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

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