2011-01-07 3 views
4

Ich benutze Spring und Hibernate und ich habe vor kurzem einen benutzerdefinierten Id-Generator erstellt. Gerade jetzt, auf meinem Java Domain-Objekt Ich habe:Konfiguriere benutzerdefinierten Hibernate ID Generator im Frühling Kontext

@GenericGenerator(name="...", strategy="com.acme.MyIdGenerator", ...) 

Kann ich erstellen/konfigurieren, um ein com.acme.MyIdGenerator in meinem Frühjahr Kontext und irgendwie haben Hibernate verwenden sie anstelle von Hibernate es instanziiert?

Antwort

2

Wenn Sie nur versuchen, Ihren Generator von der Verbraucherklasse (oder den Verbraucherklassen) zu isolieren, können Sie den Generator in einer package-info.java-Klasse definieren. Siehe this example in the test suite.

Wenn Sie es jedoch wirklich im XML-Code abbilden möchten, müssen Sie diese spezifische Entität als hbm.xml (as seen here) zuordnen und im Spring-Kontext zu Ihrer Hibernate-Konfiguration hinzufügen.

+0

Wow, ich wusste nicht, dass Sie package-info.java kommentieren können. Cool (+1) –

+0

Ich habe derzeit keine hbm.xml, alles ist Annotation basiert. Willst du sagen, ich müsste dafür eine hbm.xml erstellen, auch wenn ich sie jetzt nicht verwende? – codecraig

+0

@codecraig Wie gesagt, Sie können den Annotations-Ansatz verwenden, oder, wenn Sie ihn wirklich als XML hinzufügen müssen, sollten Sie eine hbm.xml-Datei erstellen, da Sie die Mappings mit Spring nicht wirklich konfigurieren können. Sie konfigurieren nur Hibernate (keine Zuordnungen, AFAIK). – jpkrohling

Verwandte Themen