Läuft hibernate annotation tool-generation ohne den "Katalog" - Attribut
wenn ich meine hibernate-tools
es liest aus der db und erstellen Sie java-Klassen für die einzelnen Tabellen,
und eine java-Klasse für zusammengesetzte Primärschlüssel.
das ist toll.
das problem ist diese Zeile
@Table(name="tst_feature"
,catalog="tstdb"
)
während der name der Tabelle ist erforderlich, die "Katalog" - Attribut ist nicht erforderlich.
manchmal möchte ich "tstdb", manchmal will ich mit "tstdev"
ich dachte, die db wurde gewählt, hängt die jdbc-Verbindungs-url
aber wenn ich die jdbc-url auf "tstdev", es ist immer noch mit "tstdb"
so,
ich weiß, was getan werden muss,
weiß nur nicht, wie Ihr geschieht
meine Optionen sind
- unterdrücken die generation der "Katalog" - Attribut
derzeit mache ich das manuell (nicht sehr ergiebig)
oder ich könnte ein Programm schreiben, dass parst die java-Datei, und entfernen Sie das Attribut manuell
aber ich hoffe ich habe nicht zu
ODER
- einen Weg finden, zu sagen, hibernate, ignorieren Sie die "Katalog" - Attribut, und verwenden Sie das schema wird explizit angegeben.
ich weiß nicht, die genaue Einstellung muss ich ändern, dies zu erreichen, oder sogar, wenn die option verfügbar ist.
InformationsquelleAutor Titi Wangsa bin Damhore | 2009-08-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie befolgen Sie diese 3 Schritte -
1) In der
hibernate.cfg.xml
fügen Sie diese Eigenschaft(wie im obigen post)
2) In der
hibernate.reveng.xml
fügen Sie die Tabelle filtern, wie dies(nur dieses, keine Katalog-name hier)
3) Regenerieren hibernate code
Sehen Sie keine Katalog-Namen in einem der
*.hbm.xml
- Dateien.Habe ich benutzt Eclipse Galileo und Hibernate-3.2.4.GA.
InformationsquelleAutor
Es ist eine Anpassung an die generation, die wird Ihnen sagen, welche Tabellen in welchen Katalog.
Können Sie den Katalog manuell (in reveng-Datei
<table>
- element) oder programmgesteuert (in Ihrer benutzerdefinierten ReverseEngineeringStrategy Klasse, wenn ich mich gut daran erinnern).Auch, ich hatte vor kurzem zum ändern der generation Vorlagen.
Finden Sie in der Referenzdokumentation :
Sie können anpassen, den Katalog der einzelnen Tabellen manuell
Sorry, das könnte präziser sein, aber ich habe keinen Zugriff zu meinem computer in der Arbeit jetzt.
ich warf einen Blick auf die ftl-Dateien gibt es eine Zeile, die sagt <#if clazz.Tabelle.Katalog?existiert> catalog="${clazz.Tabelle.Katalog}" </#wenn> jede Idee, wie ich dies falsch?
ich fand es heraus <property name="default_catalog">xxx</property> Sie hibernate.cfg.xml Datei
InformationsquelleAutor KLE
Den Attribut-Katalog ist eine "Verbindung" - Attribut und sollte angegeben werden, in der "Verbindung" config-Datei
hibernate.cfg.xml
und NICHT in eine "Daten" - config-Datei*.hbm.xml
.Ich generieren von hibernate-code per ant-task
<hibernatetool>
und ich diese ersetzen Aufgabe nach der regeneration (ersetzen-schema-name mit Ihrer Datenbank).So, nach generation, Attribut-Katalog entfernt wurde.
Dies ist ein workaround, aber erzeugte code funktioniert in meiner Entwicklung eine Produktionsumgebung mit anderen schema-name.
InformationsquelleAutor michele