我想要将列表中的所有字符串值保存到数据库中作为一个字符串。如果实现为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
只需定义一个名为“ validResultListAsString”的字段,并将其值设置为setValidResultList,然后通过getValidResultListAsString返回即可。此外,您不应将字段注释和属性注释一起使用。
回答来源:Stack Overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。