java - 使可嵌入类的字段从 JPA 中的嵌入类 transient 化

标签 java hibernate jpa orm annotations

我有以下一组类(class)

@Embeddable
public class SharedClass {
    ...
    private String legacyField;
    ...
}

@Entity
public class LongStandingEntity {
    ...
    private SharedClass sharedClass;
    ...
}

其中legacyfield在较旧的对象中存储一些过时的数据,但不会为新对象收集这些数据。但是我确实需要能够继续访问旧数据。

我正在创建一个也使用 SharedClass 的新实体

@Entity
public class NewEntity {
    ...
    private SharedClass sharedClass;
    ...
}

它不需要 legacyField,我希望避免在数据库中为其添加列,同时保持映射对 LongStandingEntity 有效。

这可以通过 JPA 注释实现吗?

最佳答案

我不记得有什么特定的注释可以帮助您解决这个问题。尽管如此,我还是愿意针对这种情况采取设计方法。如果您有仅属于某个类的字段,请将它们分隔在另一个仅与旧数据关联的嵌入类中。

对我来说,这似乎是一种更干净的方法,只是为了让实体清晰地区分。

关于java - 使可嵌入类的字段从 JPA 中的嵌入类 transient 化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12644626/

相关文章:

java - Spring 无法执行多部分项目的清理

java - Spring ApplicationContext Bean作用域

java - 如何使用GraphicsEnvironment检测显示镜像?

Java MD5 哈希与 .NET 哈希不匹配

java - 将图像保存到数据库时JAVA中的classcastException

java - 在 Spring 启动一段时间后,数据库连接丢失

java - 在 Hibernate for Sybase DB 的多语句事务中不允许使用 SELECT INTO 命令

java - 加入获取 : "query specified join fetching, but the owner of the fetched association was not present in the select list"

hibernate - 在 JPA/Hibernate NamedQuery 中指定数据库函数

java - 在 Java Spring Boot 中删除关系