0

我有一个简单的 Id Value-Object 封装和硬输入我的 id。这是一个简单的泛型,内部使用 UUID。这是我的课:

public class Id<T>  {
    private final UUID _value;

    public Id(@NotNull UUID id) {
        _value = id;
    }

    public Id(@NotNull String id) throws IllegalArgumentException {
        _value = UUID.fromString(id);
    }

    public Id() {
        _value = UUID.randomUUID();
    }

    @Override public boolean equals(Object o) {
        if (this == o)
            return true;
        if (o == null || getClass() != o.getClass())
            return false;
        Id<?> id = (Id<?>) o;
        return _value.equals(id._value);
    }

    @Override public int hashCode() {
        return Objects.hash(_value);
    }

    @Override public String toString() {
        return _value.toString();
    }

    public UUID toUuid() {
        return _value;
    }
}

当前序列化/反序列化 JSON-B 时会创建一个空对象(可能是因为我没有公共字段)。是否可以更改(反)序列化以将此对象表示为单个字符串而不是 json 对象?

4

0 回答 0