Hibernate - Salvar valor de retorno de um método em vez do campo

Jvck Ouk:

Eu quero salvar todos os valores String da lista no banco de dados como uma cadeia. Se implementado como abaixo economiza valor nulo. Existe alguma maneira como salvar um valor de retorno do método em vez da própria 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();
}

}

O campo "valid_commands" é VARCHAR2.

Por exemplo:

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

E deve salvar como:

"foo bar "

Seria um prazer para qualquer dicas.

user3359139:

Simplesmente, definir um nome "validResultListAsString" arquivado e defina seu valor em setValidResultList e devolvê-lo por getValidResultListAsString. Além disso, você não deve usar anotações de propriedade arquivada e em conjunto.

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=284164&siteId=1
Recomendado
Clasificación