gpt4 book ai didi

java - 在 Java 实体中可选地替换可为空的列

转载 作者:行者123 更新时间:2023-12-01 11:04:22 39 4
gpt4 key购买 nike

我想知道是否可以获得一些有关使用 Java 8 的可选类在实体中包装可为空列的建议。我的意思可以用下面的代码示例来表达:

@Entity
public class Data {

@Column(nullable=true)
private String value;

public Optional<String> getValue() {
return Optional.ofNullable(value);
}

public void setValue(Optional<String> value) {
this.value = value.orElse(null);
}

数据库中的列仍然可以设置为空,但是,为了检查是否为空,必须使用 isPresent() 方法调用 getter。我喜欢这种明确性,而不是必须检查或记住列是否可为空。这种模式是否常见和/或推荐?如果没有,您能否提供一个我不应该这样做的充分理由?

最佳答案

布莱恩·戈茨本人answered这个问题。他的结论是:

I think routinely using it as a return value for getters would definitely be over-use.

基本上,Optional 并不是被设计为通用的 MaybeSome 类型。有些事情绝对不应该使用它, setter/getter 可以,但不要发疯。

关于java - 在 Java 实体中可选地替换可为空的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33089432/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com