[英]Dozer map list with annotations
How to correctly map the map using Dozer and annotations 如何使用推土机和注解正确映射地图
Without lists, everything works well 没有列表,一切正常
Dozer version 6.1.0 推土机版本6.1.0
http://dozer.sourceforge.net/documentation/collectionandarraymapping.html How to render b-hint on annotations 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;
...
}
Everything works fine, but when I try to get a map list, I get an error 一切正常,但是当我尝试获取地图列表时,出现错误
How can I solve this problem without configuring xml? 如何在不配置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)错误
To prevent lombok's ToString()
to run recursively the link field should be excluded. 为了防止lombok的ToString()
递归运行,应该排除链接字段。 And the same for hashCode()
: 与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.