gpt4 book ai didi

java - 使用@Transient注释实体

转载 作者:行者123 更新时间:2023-12-01 13:47:59 24 4
gpt4 key购买 nike

我有一个用 @Entity 注释的类,因此存储在数据库中。现在我想做的是扩展它,但子类根本不应该被持久化:

@Entity(name = "A")
public abstract class A {

private String field;

public String getField() {
return field;
}

public abstract void print();
}

public class B extends A {

@Override
public void print() {
System.out.println(getField());
}
}

为什么我不能用 @Transient 注释 B 以防止在数据库中创建额外的不必要的条目?我可能错过了一些重要的事情吗?

最佳答案

为了避免 B 的实例被持久化,您不需要使用 @Transient 对其进行注释(用于标记不存在的字段/属性)持久),而是避免使用 @Entity 对其进行注释,或者干脆不在 persistence.xml 文件中列出它。

此外,您必须确保您的代码永远不会尝试保留此类类型,否则将引发异常。

关于java - 使用@Transient注释实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20202056/

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