Я хочу сохранить все строковые значения списка в базе данных как одну строковую. Если реализовано как показано ниже, оно сохраняет нулевое значение. Есть ли способ сохранить возвращаемое значение метода вместо самих полей?
@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 "
Буду рад любым советам.