有没有办法将 DetachedCriteria 对象传递给 jax-ws 服务?
(我的问题是 DetachedCriteria 没有 jax-ws 需要的无参数构造函数)
我会说......请不要那样做。
使用像 Web 服务这样解耦的东西,然后将其绑定到特定的 Java+Hibernate 组合是一种耻辱,更不用说,对 hibernate 配置的更改可能会波及所有客户端。
你最好创建某种Query
模仿的对象Criteria
:
public class Query {
public void setTargetClass(...) {}
public void addPropertyEquals(...) {}
/* more add/set instructions */
}
然后在服务器端,您有一个将 转换Query
为Criteria
.
JAXB 是基于注解的,因此您需要先注解DetachedCriteria
及其所有子类,然后才能通过 JAX-WS 接口(在无参数构造函数的要求之上)传递它。这几乎是不可能的:)
但是您可以DetachedCriteria
通过标准的 Java 序列化机制将其序列化为字节流,并在远程端对其进行反序列化。我同意,这种方法是对 XML 的误用。