首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OJB引用描述符1:0关系?我是否应该将自动检索设置为false?

OJB引用描述符1:0关系?我是否应该将自动检索设置为false?
EN

Stack Overflow用户
提问于 2010-04-24 08:31:24
回答 1查看 2.9K关注 0票数 1

在我的web应用中使用Spring2和Apache OJB时,我遇到了一个问题。

我使用具有2个外键属性的OJB引用描述符。我有一个对象A(父对象)和对象B(引用对象)。问题是,对于一个物体A,可能存在也可能不存在物体B。

在对象A没有对象B的情况下,对象B似乎是实例化的(通过Spring?)不管怎么说。但是,我无法访问对象B的成员。

每当我测试对象B是否== null时,即使数据库中没有匹配值,它也总是返回false。

由于这个对象从不为空,我想我可以像这样测试对象的成员:

if( objectb.getDocumentNumber == null) { return false;}

但是,我在jsp中得到了一个异常:

代码语言:javascript
复制
javax.servlet.jsp.el.ELException: An error occurred while getting property
"documentNumber" from an instance class
org.sample.pojo.Objectb$$EnhancerByCGLIB$$78022a2

调试器在创建objectB时会出现以下异常:

代码语言:javascript
复制
com.sun.jdi.InvocationException occurred invoking method.

我猜测引用描述符必须是1:1+关系,而不是1:0+关系。我想知道是否应该将属性'auto-retrieve‘设置为false,然后按照指示使用PersistenceBroker.retrieveAllReferences(Object obj);方法。然而,这个方法的返回值是'void',所以我猜Spring以某种方式为我创建并设置了引用类。(让我回到我遇到的相同问题上。)

我需要一种方法来测试引用对象是否首先存在。如果没有,就不要调用这个retrieveAllReferences方法,但我不知道如何调用。

我说的全错了吗?引用描述符不允许1:0关系吗?有什么办法解决我的问题吗?

非常感谢您的建议!

EN

回答 1

Stack Overflow用户

发布于 2010-04-27 06:59:25

我想通了。为了防止对其他人有帮助,我设置了proxy = false。

这对我是有效的,因为通过将它设置为false,它不会创建临时引用对象,并且我可以用它测试null。

不管怎样,谢谢你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2702707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档