-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 
Author Message
 Post subject: nur bestimmte Mapping-Dateien berücksichtigen
PostPosted: Tue Jul 24, 2007 3:33 am 
Newbie

Joined: Tue Jul 24, 2007 3:15 am
Posts: 1
Hallo Zusammen,

bin neu in der Hibernate Welt, also entschuldigt meine vielleicht schlechte Ausdrucksweise.

Ich hab hier eine relativ große Datenbank vorliegen die aus Hibernate mapping xml Dateinen generiert wird. Sind 85 Tabellen also auch 85 XML Mappings. Diese 85 Mapping Dateien werden alle in einer Datei aufgerufen.
Jetzt sollen aber für ein Update der Datenbank nur einige der Tabellen neu erzeugt werden. Habt ihr ne Idee für mich wie ich das am besten programmatisch lösen kann. Gibt es in Hibernate Funktionen oder sonstiges für so was?

Vielen Dank

Gruß jk84


Top
 Profile  
 
 Post subject:
PostPosted: Mon Aug 20, 2007 4:50 am 
Newbie

Joined: Wed Jul 26, 2006 6:01 am
Posts: 10
Hallo jk84,

so wie ich es weiss, gibt es keine Möglichkeit im Hibernate-PlugIn(Hibernate tools) nur einzelne Mapping-Dateien aufzurufen.

Quote:
Diese 85 Mapping Dateien werden alle in einer Datei aufgerufen.


Wozu ist es gut?

Quote:
Habt ihr ne Idee für mich wie ich das am besten programmatisch lösen kann


Ja.

Du schreibst eigene Klasse zum DB-Update.
z.B:


Code:

package util;

import org.hibernate.HibernateException;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaUpdate;
import org.hibernate.tool.hbm2ddl.SchemaValidator;



public class DBManager {
    //Choose one:
    //Annotationen
    Configuration cfg = new AnnotationConfiguration().configure();
    //only hbm Files
    Configuration cfg = new Configuration().configure();
   
   
   public void validate(){
      try {
         new SchemaValidator(cfg).validate();
            System.out.println("END OF VALIDATE!");
      } catch (HibernateException e) {
         System.out.println("Error: " + e.getMessage());
      }
   }
   
   public void update(){
      new SchemaUpdate(cfg).execute(true, true);
   }
   
   public void generateCode(){
      
   }
   
    public static void main(String[] args) {
        DBManager dbman = new DBManager();
        dbman.validate();
        dbman.update();
        dbman.validate();
    }

}



Bei so einem Verfahren gehen keine Daten vorlohren.


Wenn du HBM-Dateien benutzt muss du jedes mal bei Änderungen alle Bean-Klasse generieren.
Wenn du Annotationen benutzt -> fählt es weg.

Gruss Vaceslav Ustinov


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.