gpt4 book ai didi

java - JPA 实体未保留在我的额外字段中

转载 作者:行者123 更新时间:2023-12-01 16:48:51 26 4
gpt4 key购买 nike

class Extra {
int a;
}

@Entity
@Table(name = "data_table")
@Data
class Data {
@Column int state;
@Column(name = "extra") String _extra;

@Transient Extra extra;

@PostLoad
void preLoad() {
extra = mapper.readValue(_extra, Extra.class);
}

@PrePersist
@PreUpdate
void prePersist() {
_extra = mapper.writeValueAsString(extra);
}
}

Data data = jpaRepository.findOne(...);
data.setState(1);
data.getExtra().setA(1);
jpaRepository.save(data);

我想使用额外的字符串列作为额外的对象。所以我做了@PostLoad、@PrePersist回调,它们正在转换额外的列。但是,当我保留数据对象时,状态值会保留,但额外列(Data._extra)不会保留。我做错了什么?

最佳答案

您定义的额外对象是@Transient。 transient 对象不会保存到数据库中。

关于java - JPA 实体未保留在我的额外字段中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44669535/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com