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

标签 java hibernate

我想将列表中的所有字符串值作为一个字符串保存到数据库中。如果按如下方式实现,它将保存空值。有没有办法保存方法的返回值而不是字段本身?

@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 "

很高兴提供任何提示。

最佳答案

简单地,定义一个名为“validResultListAsString”的字段,并在 setValidResultList 中设置其值,并通过 getValidResultListAsString 返回它。此外,您不应同时使用字段注释和属性注释。

关于java - Hibernate - 保存方法的返回值而不是字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60687816/

相关文章:

java - 从 JDBC ResultSet 中以字符串形式读取日期时指定的日期格式在哪里

java - 需要有关 Java Spring-MVC 应用程序 servlet.xml 配置的帮助

java - 使用 hibernate 从 URL 获取参数值而不使用请求对象?

java - Hibernate一对多关联保存重复项

java - JPA REQUIRES_NEW 事务到底什么时候提交

java - 让 Hibernate 知道隐藏的实体关系

java - 删除 Jtable 中的行后出错

java - 如何在运行时设置 java.net.preferIPv4Stack=true?

java - jsp session : ArrayList<String> reflects the latest value but for String, 它没有

java - Hibernate 仅在类为 Final 时才起作用 [否则抛出 SingleTableEntityPersister]