我在 Java 中获取对象时遇到问题。对象 A 是实体 bean 类,它包含对象 B(其他实体 bean 类)作为字段。对象 A 是在没有 B 的情况下创建的,后来对象 B 通过某些操作附加到 A。
问题是一些用户在对象 A 中看不到对象 B,它看起来像 null。在数据库中一切都很好,一段时间后对象 A 看起来不错(包含 B)。这仅在某些情况下发生,在其他对象中从一开始就看起来不错。
我想说我们使用两个虚拟机来运行应用程序(可能是问题)和 Oracle 应用服务器。
有什么帮助吗?
斯托扬
代码如下:
实体类 A 是这样定义的(B 也是实体类)。
@Entity
@Table(name = "A")
public class A{
...
@ManyToOne
@JoinColumn(name="ID_B", referencedColumnName="ID")
private B b;
...
}
A 类的对象是在某个动作中创建的,例如:
public createA_action(){
A a = new A();
saveObject(a);
}
其中'saveObject'是一些在数据库中持久化或合并对象的方法。
后来,还有其他方法的调用,像这样:
public addBtoA_action(){
A a = getA();
B b = getB();
a.setB(b);
saveObject(a);
}
其中 getA() 和 getB() 获取现有对象。