DDL Statements aus Klassen generieren.

Thomas Darimont

Erfahrenes Mitglied
Hallo!

Kennt jemand von euch zufällig eine Bibliothek welche mir für eine beliebige Java Klasse ein für die jeweilige Datenbank passendes Create Table Statement erzeugt?

Ganz im Sinne von Hibernate. Jedoch ist mir der Weg
Java .class -> Hibernate .hbm.xml -> DDL Statement .sql
ein wenig zu holprig.

Kennt daher jemand eine Bibliothek (im Sinne eines XDoclet/ Ant Tasks vielleicht)
welche mir zum einen die Java Typen korrekt in die Datenbankspezifischen SQL Typen (Oracle,SQL Server 2000, DB2) map't und vielleicht noch auf Quellcode Annotation im Sinne von irgendwelchen Doclet Tags reagiert, mit welchen ich beispielsweise einen Primärschlüssel Constraint auf eine Spalte legen könnte?

Gruß Tom
 
Mit Hibernate bist du doch da schon richtig! Du brauchst da ja keine XML oder DDL selber schreiben!

Es gibt ja schließlich auch das "xdoclet_ant.xml" in dem über ant (ab 1.5) und doclet tags im java-code die hibernate-xml's erzeugt werden und auch "createTable" ist dabei. Bei mir das gut (auch wenn ich grad ein Problem damit habe...).

Im Java-Code kannst du dann einfach z.B. folgendes setzen:
Code:
.
.
.

/**
 * @hibernate.class
 *  table="ROLE"
 */
public class RoleImpl implements Role, DomainIdentifiable {

.
.
.

    /**
     * @hibernate.collection-many-to-many
     * class="de.condat.scheduler.domain.impl.UserImpl"
     * column="ID"
     * @hibernate.set
     * @hibernate.collection-key 
     *  column="OTHERID" 
     *  length=32
     */
    private Set getContainedUsers() {
        ...
    }

.
.
.

    /**
     * @hibernate.property
     */
    public String getName() {
        return name;
    }

.
.
.


schau einfach mal in die doclet-tag-Dokumentation von Hibernate: XDoclet - Tagreference - Hibernate
 
Zuletzt bearbeitet:
Zurück