“ 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<>();


java - 非实体变量:“可序列化”类中的字段应该是 transient 的或可序列化的-LMLPHP

最佳答案

HashMap是可序列化的,但是Map不能实现,因为它没有实现Serializable接口。您可以在声明时尝试使用HashMap本身(不推荐)。

private HashMap<String, Object> metadata = new HashMap<>();

关于java - 非实体变量:“可序列化”类中的字段应该是 transient 的或可序列化的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58948917/

10-10 11:49