不幸的是,我们坚持使用 JPA 1.0 和 Java EE 5(SAP 实现)。如果重要的话,我们使用的是 Oracle 数据库。
我们有一个实体类,它基本上是文件类型对象的数据库描述,包含名称、文件类型和 byte[] (blob) 项。
当调用对表的查找时,我们不想每次都急切地加载 blob 对象,并通过 Web 服务返回它,但是我们仍然希望加载文件名和类型字段。
现在,我们尝试了几件事:-
首先,我们尝试了@Basic(fetch= FetchType.LAZY)
. 无论如何,这似乎没有任何作用。(可能这不是强制执行的 JPA 协议)
其次,我们尝试与单独表中的字节数据建立一对一的关系,并将其设置为惰性获取类型。执行此操作时,Web 服务中会发生异常,因为此项的 Jax WS 代理对象几乎是空的。
第三,我们尝试过加载整个“文件”表,但在数据库查询后只清空字节[]数据;这不会通过 Web 服务返回大字节数据,但它并不理想,因为字节数据仍会从数据中检索到程序“上下文”中。
那么,如果代理对象为空,有没有办法告诉 Jax WS 忽略特定字段?我似乎在文档中找不到任何内容?