“ Serializable”类中的字段应该是瞬态的或可序列化的,以解决在另一个类中使用的任何实体/类的问题,但是当在dto类中声明List / Map时,它会发生,即使好。请让我知道如何解决此问题。
例如:
public class CustomMetadataDTO implements Serializable {
private UUID id;
private Map<String, Object> metadata = new HashMap<>();
private UUID fieldGroupId;
private Integer order;
public CustomMetadataDTO(Map<String, Object> metadata, Integer order) {
this.metadata = metadata;
this.order = order;
}
public CustomMetadataDTO() {
}}
对于下面的行,我认为声纳科比问题至关重要
private Map<String, Object> metadata = new HashMap<>();
最佳答案
HashMap是可序列化的,但是Map不能实现,因为它没有实现Serializable接口。您可以在声明时尝试使用HashMap本身(不推荐)。
private HashMap<String, Object> metadata = new HashMap<>();
关于java - 非实体变量:“可序列化”类中的字段应该是 transient 的或可序列化的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58948917/