开发者社区> 问答> 正文

Hibernate - 保存方法的返回值,而不是保存字段

我想要将列表中的所有字符串值保存到数据库中作为一个字符串。如果实现为bellow,它将保存空值。有什么方法可以保存方法的返回值而不是保存fiels本身吗?

@Entity
@Table(name = "commands")
public class Command {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column(name = "command")
private String command;

@Transient
private List<String> validResultList = new ArrayList<>();

public List<String> getValidResultList() {
    return validResultList;
}

public void setValidResultList(List<String> validResultList) {
    this.validResultList = validResultList;
}

@Column(name = "valid_commands")
public String getValidResultListAsString() {
    StringBuilder sb = new StringBuilder();
    for (String value : validResultList) {
        sb.append(value).append(" ");
    }
    return sb.toString();
}

}

字段“ valid_commands”是VARCHAR2。

例如:

Command comm1 = new Command("echo test;");
comm1.setValidResultList(Arrays.asList("foo", "bar"));

它应该另存为:

"foo bar "

任何提示都会很高兴。

问题来源:Stack Overflow

展开
收起
montos 2020-03-25 20:20:22 401 0
1 条回答
写回答
取消 提交回答
  • 只需定义一个名为“ validResultListAsString”的字段,并将其值设置为setValidResultList,然后通过getValidResultListAsString返回即可。此外,您不应将字段注释和属性注释一起使用。

    回答来源:Stack Overflow

    2020-03-25 20:20:35
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多