gpt4 book ai didi

java - 使子类属性变为 transient

转载 作者:行者123 更新时间:2023-12-01 12:11:07 27 4
gpt4 key购买 nike

我有一个 A 类,它由 B 子类扩展。使 B 继承自 A transient 的属性之一并且不为 B 类保留的最佳方法是什么?

使用 hbm xml 进行配置时, transient 字段不会以任何方式指示,只是从 xml 中省略,这与使用注释和 @Transient 注释不同。

这是使 x 暂时且不持久存在于 B 的有效解决方案吗?

public class A{    
private Long x;
private Long y;

public Long getX() {return x;}
public Long getY() {return y;}
}

public class B extends A{
private Long z;
private transient Long x;

public Long getZ() {return z;}
public Long getX() {return x;}
}

最佳答案

如果您使用 XML 配置,则可以利用 insert="false"update="false" 属性:

<hibernate-mapping>
<class name="name.of.thepackage.containing.B" table="b">
<id name="id" type="java.lang.Long">
<column name="id" />
<generator class="identity" />
</id>
<property name="z" type="java.lang.Long" />
<property name="x" type="java.lang.Long" insert="false" update="false" />
</class>
</hibernate-mapping>

这些属性意味着该字段不会在 INSERTUPDATE SQL 语句中使用。

关于java - 使子类属性变为 transient ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27277233/

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