DetachedCriteria und JAX-WS
Frage
Gibt es eine Möglichkeit, ein DetachedCriteria Objekt zu einem JAX-WS-Service zu übergeben?
(mein Problem ist, dass DetachedCriteria keinen nicht-arg Konstruktor, die von JAX-WS erforderlich)
Lösung
Ich würde sagen ... bitte das nicht tun.
Es ist eine Schande, etwas zu verwenden, wie Web-Services entkoppelt und es dann auf eine Kombination spezifischer Java + Hibernate binden, nicht und Änderungen an Ihrem Hibernate Config zu erwähnen, wird wahrscheinlich die alle kräuseln durch Kunden.
Du bist besser von irgendeiner Art von Query
Objekt zu erzeugen, die die Criteria
nachahmt:
public class Query {
public void setTargetClass(...) {}
public void addPropertyEquals(...) {}
/* more add/set instructions */
}
und dann auf der Server-Seite haben Sie eine Klasse, die die Query
zu einem Criteria
umwandelt.
Andere Tipps
JAXB ist Annotation-basiert, so müssen Sie DetachedCriteria
und alle seine subclassses zu annotieren, bevor Sie es über JAX-WS-Schnittstellen (auf der Oberseite der Anforderung von nicht-arg Konstruktor) passieren kann. Das kaum machbar:)
Sie können aber DetachedCriteria
in Bytestrom über Standard-Java Serialisierungsmechanismus serialisiert und auf der entfernten Seite deserialisieren. Ich bin damit einverstanden, dieser Ansatz eine Fehl Verwendung von XML ist.