Zum Inhalt springen

Buergy

Mitglieder
  • Gesamte Inhalte

    11
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Buergy

  1. So, unabhängig davon, dass ich den Kurs in einem der nächsten Semester auf jeden Fall nochmal werde, habe ich es nun doch geschafft ein Mapping hinzubekommen. Habe mich daher nochmal an einer neuen Aufgabe versucht. Hier erhalte ich nun leider einen Fehler von MySQL den ich nicht verstehe: Unknown column 'Stoff_ID' in 'field list' .... Hier dann mal mein Code für die beschriebenen Tabellen: SHOW WARNINGS; CREATE TABLE IF NOT EXISTS `Stoff` ( `Stoff_ID` NOT NULL , `Stoff_Bezeichnung` VARCHAR(45) NULL , PRIMARY KEY (`Stoff_ID`) ) ENGINE = InnoDB SHOW WARNINGS; CREATE TABLE IF NOT EXISTS `Knoten` ( `Knoten_ID` INT NOT NULL , `Stoff_Stoff_ID` NOT NULL , `Knotentyp_Knoten_ID` INT UNSIGNED NULL , `x_Koordinate` INT NULL , `y_Koordinate` INT NULL , `z_Koordinate` INT NULL , PRIMARY KEY (`Knoten_ID`, `Stoff_Stoff_ID`) , CONSTRAINT `fk_Knoten_Knotentyp` FOREIGN KEY (`Knotentyp_Knoten_ID` ) REFERENCES `mydb`.`Knotentyp` (`Knoten_ID` ) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_Knoten_Stoff` FOREIGN KEY (`Stoff_Stoff_ID` ) REFERENCES `mydb`.`Stoff` (`Stoff_ID` ) ON DELETE NO ACTION ON UPDATE NO ACTION); CREATE INDEX `fk_Knoten_Knotentyp` ON `Knoten` (`Knotentyp_Knoten_ID` ASC) ; CREATE INDEX `fk_Knoten_Stoff` ON `Knoten` (`Stoff_Stoff_ID` ASC) ; Aus meiner bisherigen Suche im Internet zu diesem Problem konnte ich entnehmen, dass der Fehler etwas damit zu tun hat, dass meine Tabelle Knoten beim Einfügen die Stoff_ID noch nicht kennt ,obwohl ich schon eine Stoff_ID eingefügt habe. Den neuen Knoten versuche ich so anzulegen: Knoten k = new Knoten(); k.setKnotenId(3); k.setStoff_ID(22); k.setxKoordinate(24); k.setyKoordinate(34); k.setzKoordinate(25); und dies ist die dazu geschriebene Mapping-Datei: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC '-//Hibernate/Hibernate Mapping DTD 3.0//EN' 'http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd'> <hibernate-mapping> <class name="uk.co.planetjava.hibernate.bookstore.Knoten" table="KNOTEN"> <id name="id" column="Knoten_ID"> <generator class="increment"/> </id> <property name="Stoff_ID"/> <property name="xKoordinate"/> <property name="yKoordinate"/> <property name="zKoordinate"/> </class> </hibernate-mapping> Ich würde mich sehr freuen, wenn Ihr mir hierbei wieder weiterhelfen könnt. Ciaoi Buergy
  2. So, ich melde mich jetzt doch nochmal zum Stand meiner Ausarbeitung. Mein Professor gewährt mir ("Gott sei Dank") nun doch noch eine Bearbeitungszeit meines Projekts bis Montag, den 19.01.2009. Hab mir jetzt auch "nochmal, ich weiß" ein Tutorial angeschaut mit welchem ich zum ersten Mal richtig weit gekommen bin. Der einzige Fehler der Jetzt noch auftritt, ist der: java.lang.NoClassDefFoundError: uk/co/planetjava/hibernate/bookstore/Main Exception in thread "main" Dies verstehe ich nicht ganz, denn ich habe meine main-Methode direkt in der Main-Klasse, so heißt diese bei mir jetzt, deklariert. Liegt der Fehler eventuell daran, dass ich zuviele bzw. überflüssige .jar-Files importiert habe?? Ich hab dieses mal nämlich darauf geachtet, dass ich ein Hibernate-Projekt starte, war bisher nicht so (weil zu dumm), und da hat er mir schon sämtliche Bibliotheken mit eingefügt. Das gut daran ist, dass er in den Klassen alle importierten Sachen gefunden hat. Nur leider besteht halt jetzt der Fehler mit der main-Class. Ich hoffe, einer von Euch hat wieder einen guten Vorschlag. :confused: Bye Buergy
  3. Mein Tutorial hat mir diese Libs zum adden angezeigt: asm.jar cglib-2.1.jar commons-collections-2.1.1..jar commons-logging-1.0.4.jar dom4j-1.6.jar ehcache-1.1.jar hibernate3.jar jdbc2_0-stdext.jar jta.jar log4j-1.2.9.jar xerces-2.6.2.jar xml-apis.jar Bisher eingebunden habe ich diese: aspectwerkz-2.0.jar aspectwerkz-core-2.0.jar aspectwerkz-extensions-2.0.jar aspectwerkz-jdk5-2.0.jar aspectwerkz-0.10.RC2.jar mysql-connector-java-5.0.3-bin-g.jar asm.jar asm-attrs.jar cglib.2.1.3.jar commons-collections-2.1.1.jar commons-logging-1.0.4.jar dom4j-1.6.1.jar ehcache-1.1.jar hibernate3.jar jta.jar log4j-1.2.11.jar xerces-2.6.2.jar xml-apis.jar mysql-connector-java-5.1.7-bin.jar jdbc2_0-stdext.jar hibernate-validator.jar hibernate-annotations.jar Das scheint aber ja noch immer nicht zu reichen. Man beachte ja den letzten Fehler den ich angegeben hab und noch nicht rausbekommen hab. Anscheinend brauche ich wohl doch noch einige .jar-Files bis das Ding läuft..... :confused:
  4. Zu dieser Klasse bzw. dem genannten Fehler finde ich bisher leider keine Hilfe. Um was für einen Fehler handelt es sich denn hier, wenn der Compiler sagt: " Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/jdi/connect/IllegalConnectorArgumentsException at net.sf.cglib.transform.hook.AsmClassLoaderPreProcessor.main(AsmClassLoaderPreProcessor.java:105) ???
  5. Nein, leider nicht... Das mit den AspectWerkz-Libraries hat super geklappt. Danach fehlten auf Mal noch mehr Bibliotheken, die ich nun auch eingefügt habe. Diese Bibliotheken wurden in dem Tutorial wirklich nicht angegeben. Habe übrigens nach diesem Tutorial hier gearbeitet: Hibernate Object Relational Mapping ? The Register Nun hänge ich erneut bei einem Fehler: java.lang.NoClassDefFoundError: net/sf/cglib/transform/hook/AsmClassLoaderPreProcessor So wie ich das verstehe, ist dies wieder eine Klasse die dem Programm fehlt, oder?? Ich hangel mich dann mal weiter....
  6. Den obrigen Fehler konnte ich nun beheben. Dafür hab ich jetzt aber leider einen neuen Fehler der mir geworfen wird: java.lang.NoClassDefFoundError: org/codehaus/aspectwerkz/hook/ClassLoaderPreProcessor at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) Exception in thread "main" Wisst Ihr, wie ich bei diesem Fehler nun weiter komme?? Das wäre echt super.... heute abend bin ich nämlich echt am verzweifeln.... :confused: Würde mich sehr freuen, wenn Ihr eine Lösung findet.... Vielen Dank. Ciaoi Buergy
  7. So, ich habe mir nun ein anderes Tutorial gesucht und stehe kurz vor dem Abschluss der dortigen Einpflege in mein MySQL-Datenbank. Leider habe ich jetzt aber noch einen Fehler, der nicht in irgendwelchem Code von mir auftritt. Hier ertsmal der Fehler: java.lang.NoClassDefFoundError: org/codehaus/aspectwerkz/hook/ClassLoaderPreProcessor at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) Exception in thread "main" Wisst Ihr vielleicht, was das zu bedeuten hat?? bzw. wie ich den Fehler beheben kann. Bei der Abarbeitung des neuen Skripts, welcher übrigens um einiges einfacher und ausführlicher für Einsteiger ist, habe ich sehr sorgfältig gearbeitet. Hier dann mal zu meinen Codes: Die HibernateSessionFactory: package uk.co.planetjava.hibernate.bookstore; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class HibernateSessionFactory { private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml"; private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>(); private static Configuration configuration = new Configuration(); private static final SessionFactory sessionFactory; private static String configFile = CONFIG_FILE_LOCATION; static { try { configuration.configure(configFile); sessionFactory = configuration.buildSessionFactory(); } catch (Exception e) { System.err.println("%%%% Error Creating SessionFactory %%%%"); throw new ExceptionInInitializerError(e); } } public static Session getHibernateSession() throws HibernateException{ return sessionFactory.openSession(); } } Die Book-Klasse für meine Bücher in der Datenbank: package uk.co.planetjava.hibernate.bookstore; public class Book { private Integer id; private String title; private String author; private String price; public Book(){ } public Integer getId(){ return id; } public void setId(){ this.id = id; } public String getTitle(){ return title; } public void setTitle(String title){ this.title = title; } public String getAuthor(){ return author; } public void setAuthor(String author){ this.author = author; } public String getPrice(){ return price; } public void setPrice(String price) this.price = price; } } und meine Main-Klasse durch die ich die Sachen in MySQL einpflegen will: package uk.co.planetjava.hibernate.bookstore; import org.hibernate.Session; public class Main { public static void main(String[] args){ System.out.println("---------------------- Starting Hibernate"); Session session = HibernateSessionFactory.getHibernateSession(); System.out.println("---------------------- Hibernate gets started"); System.out.println("-------------------- Create Book"); Book book = new Book(); book.setTitle("Java"); book.setAuthor("John Hunt"); book.setPrice("3,00 €"); System.out.println("Save the new Book"); session.save(book); System.out.println("Close Down Hibernate"); session.close(); HibernateSessionFactory.sessionFactory.close(); } } Vielen Dank schon einmal für die Hilfe bisher. Ich hoffe, ihr könnt mir auch bei diesem Fehler weiterhelfen. Denn nun kann es ja zur Übertragung der Daten zu MySQL nicht mehr soweit sein!? Ich hoffe auf eine baldige Antwort von Euch. Ciaoi Buergy
  8. Also ich habe mir meine Sachen aus diesen beiden Tutorials zusammengeschustert: 1.1 Erstes Hibernate-Beispiel: Auszug aus Kapitel 1 Einführung in Hibernate aus dem Buch Hibernate http://www.laliluna.de/download/first-hibernate-example-tutorialen. pdf Aus dem laliluna-Tutorial hatte ich auch die Idee, dass ich zwei InitSessionFactorys, in zwei verschiedenen Packageserstellen soll. Bei mir sieht das ganze dann so aus in dem PackageExplorer: Ich habe im Anhang mal die Anzeige meines Package-Explorers in Aufteilung auf 3 Bildern angehängt. Vielleicht siehst Du da ja schon einen Fehler. Nun werde ich mal schauen, ob mir Deine vorgeschlagenen Tutorials weiterhelfen können. Ich hoffe, dass ich das bald hinbekomme. Zudem werde ich mal versuchen meine InitSessionFactory in das selbe Package zu packen, in der auch die HibernateSessionFactory enthalten ist. Vielleicht schaffe ich es ja auch bei Dateien zusammenzuschreiben!? Wäre schön, wenn Du Dich nochmal meldest, solltest Du einen Fehler bei meinen Sachen noch einen Fehler melden. Ciaoi Buergy
  9. Danke nochmals für die Hilfe Schiller256!! Ich habe meinen Code nochmal geändert, aber leider tritt immer noch dasselbe Problem bei mir auf: log4j:WARN Please initialize the log4j system properly. Exception in thread "main" org.hibernate.HibernateException: Hibernate Dialect must be explicitly set at org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:57) at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:39) at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:426) at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:128) at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292) at blablablapackage.TestExample.main(TestExample.java:23) Die überarbeitete Version des XML-Codes sieht nun genauso aus, wie bei Dir Schiller, aber leider erscheint immernoch der selbe Fehler. Ich gebe auch nochmal den Code meiner InitFactory an: package blablablahibernate; import javax.naming.InitialContext; import org.apache.log4j.Logger; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.hibernate.cfg.Environment; public class InitSessionFactory { private static org.hibernate.SessionFactory sessionFactory; private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml"; private static final Configuration cfg = new Configuration(); private InitSessionFactory(){ } public static SessionFactory getInstance(){ if(sessionFactory == null){ initSessionFactory(); } return sessionFactory; } public Session openSession(){ return sessionFactory.getCurrentSession(); } public Session getCurrentSession(){ return sessionFactory.getCurrentSession(); } private static synchronized void initSessionFactory(){ Logger log = Logger.getLogger(InitSessionFactory.class); if(sessionFactory == null){ try{ cfg.configure(CONFIG_FILE_LOCATION); String sessionFactoryIndiName = cfg.getProperty(Environment.SESSION_FACTORY_NAME); if(sessionFactoryIndiName != null){ cfg.buildSessionFactory(); log.debug("get a indi session factory"); sessionFactory = (SessionFactory) (new InitialContext()).lookup(sessionFactoryIndiName); }else{ log.debug("classig factory"); sessionFactory = cfg.buildSessionFactory(); } }catch(Exception e){ System.err.println("%%%% Error Creating HibernateSessionFactory %%%%"); e.printStackTrace(); throw new HibernateException("Could not initialzie the Hibernate configuration"); } } } public static void close(){ if(sessionFactory != null){ sessionFactory.close(); sessionFactory = null; } } } und meiner HibernateSessionFactory: package blablablapackage; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.cfg.Configuration; /** * Configures and provides access to Hibernate sessions, tied to the * current thread of execution. Follows the Thread Local Session * pattern, see {@link http://hibernate.org/42.html }. */ public class HibernateSessionFactory { private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml"; private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>(); private static Configuration configuration = new Configuration(); private static org.hibernate.SessionFactory sessionFactory; private static String configFile = CONFIG_FILE_LOCATION; static { try { configuration.configure(configFile); sessionFactory = configuration.buildSessionFactory(); } catch (Exception e) { System.err .println("%%%% Error Creating SessionFactory %%%%"); e.printStackTrace(); } } private HibernateSessionFactory() { } /** * Returns the ThreadLocal Session instance. Lazy initialize * the <code>SessionFactory</code> if needed. * * @return Session * @throws HibernateException */ public static Session getSession() throws HibernateException { Session session = (Session) threadLocal.get(); if (session == null || !session.isOpen()) { if (sessionFactory == null) { rebuildSessionFactory(); } session = (sessionFactory != null) ? sessionFactory.openSession() : null; threadLocal.set(session); } return session; } /** * Rebuild hibernate session factory * */ public static void rebuildSessionFactory() { try { configuration.configure(configFile); sessionFactory = configuration.buildSessionFactory(); } catch (Exception e) { System.err.println("%%%% Error Creating SessionFactory %%%%"); e.printStackTrace(); } } /** * Close the single hibernate session instance. * * @throws HibernateException */ public static void closeSession() throws HibernateException { Session session = (Session) threadLocal.get(); threadLocal.set(null); if (session != null) { session.close(); } } /** * return session factory * */ public static org.hibernate.SessionFactory getSessionFactory() { return sessionFactory; } /** * return session factory * * session factory will be rebuilded in the next call */ public static void setConfigFile(String configFile) { HibernateSessionFactory.configFile = configFile; sessionFactory = null; } /** * return hibernate configuration * */ public static Configuration getConfiguration() { return configuration; } } und meiner TestExample an: package blablablapackage; import java.util.Iterator; import java.util.List; import org.apache.log4j.Logger; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.hibernate.Transaction; import blablablahibernate.InitSessionFactory; public class TestExample { private static Logger log = Logger.getLogger(TestExample.class); public static void main(String[] args) { Honey countryHoney = new Honey(); Honey forestHoney = new Honey(); Session session = null; org.hibernate.cfg.Configuration cfg = new org.hibernate.cfg.Configuration().configure("/hibernate.cfg.xml"); SessionFactory sessionFactory = cfg.buildSessionFactory(); try{ session = sessionFactory.openSession(); System.out.println("Inserting Record"); forestHoney.setName("forest honey"); forestHoney.setTaste("very hot and chili sweet"); countryHoney.setName("country honey"); countryHoney.setTaste("barbecue and the hottest on world"); createHoney(forestHoney); createHoney(countryHoney); session.save(forestHoney); session.save(countryHoney); }catch(Exception e){ System.out.println(e.getMessage()); }finally{ session.flush(); session.close(); } // our instances have a primary key now log.debug(forestHoney); log.debug(countryHoney); listHoney(); deleteHoney(forestHoney); listHoney(); } private static void listHoney(){ Transaction tx = null; Session session = InitSessionFactory.getInstance().getCurrentSession(); try{ tx = session.beginTransaction(); List honey = session.createQuery("select h from Honey as h").list(); for(Iterator iter = honey.iterator();iter.hasNext(){ Honey element = (Honey) iter.next(); log.debug(element); } tx.commit(); }catch(HibernateException e){ e.printStackTrace(); if(tx != null && tx.isActive()) tx.rollback(); } } private static void deleteHoney(Honey honey){ Transaction tx = null; Session session = InitSessionFactory.getInstance().getCurrentSession(); try{ tx = session.beginTransaction(); session.delete(honey); tx.commit(); }catch(HibernateException e){ e.printStackTrace(); if(tx != null && tx.isActive()) tx.rollback(); } } private static void createHoney(Honey honey){ Transaction tx = null; Session session = InitSessionFactory.getInstance().getCurrentSession(); try{ tx = session.beginTransaction(); session.save(honey); tx.commit(); }catch(HibernateException e){ e.printStackTrace(); if(tx != null && tx.isActive()) tx.rollback(); } session.close(); } } [/code] Ist es überhaupt notwendig, dass ich zwei SessionFactorys erstelle. Oder kann der Fehler sogar dort liegen!? bzw. sind die zwei Klassen vielleicht die Verwirrung und damit auch die Ursache des Problems?? Oder liegt der Fehler vielleicht sogar in meinem TestExample?? Ich würde mich sehr freuen, wenn Du Dich dem Problem nochmal annimmst, Schiller256. Aber auch schon anderen Personen sind gute Ideen für diese Problem gerne gesehen. Vielen Dank schon einmal. Ciaoi Buergy
  10. Schön das sich hier schon so früh jemand meldet. Das freut doch sehr. Hier ist erstmal mein Code der hibernate.cfg.xml-Datei: <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <poperty name?"show_sql">true</poperty> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver </property> <property name="connection.url">jdbc:mysql://localhost/DieDatenbank</property> <property name="connection.username">root</property> <property name="dialect">org.hibernate.dialect.MYSQLR5Dialect</property> <property name="hibernate dialect">org.hibernate.dialect.MySQL5Dialect </property> <property name="hibernate dialect">org.hibernate.dialect.MySQL5InnoDBDialect </property> <property name="hibernate dialect">org.hibernate.dialect.MySQLMyISAMDialect </property> <property name="connection.password">TheGamer44</property> <property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property> <property name="hibernate.hbm2ddl.auto">/property> <property name="current_session_context_class">thread</property> <property name="hibernate.show_sql">true</property> <mapping resource="contact.hbm.xml" /> </session-factory> </hibernate-configuration> Diese Datei liegt bei mir in dem Ordner: "C:\Dokumente und Einstellungen\Administrator\Workspaces\MyEclipse 7.0\firsthibernateexample", was ja der .class-Path sein dürfte. Eine Hibernate.properties-Datei habe ich leider gar nicht. Wie muss diese denn aussehen und in welchen Ordner müsste ich die packen?? Vielen Dank schon einmal. MfG Buergy
  11. Hallo, uns ist im Studium kurzfristig ein Projekt aufgedrückt worden. Leider habe ich in diesem Bereich noch nie etwas gemacht. Es geht um Datenbanken. Wir sollen dort eine Verbindung von MySQL zu Eclipse erstellen. Ich habe mich dazu eingetragen dies mit der Schnittstelle Hibernate zu machen. Dort bin ich heute in Eclipse auch ein gutes Stück voran gekommen. Leider bekomme ich nun einen dicken Fehler und es geht nicht weiter. Da am nächsten Mittwoch schon Abgabetermin ist benötige ich nun dringend Hilfe. Also, in MySQL ist eine Datenbank erstellt und in Eclipse habe ich nach einem Tutorial auch alles richtig implementiert. Nun wir bei mir aber dieser Fehler geworfen: %%%% Error Creating HibernateSessionFactory %%%% org.hibernate.HibernateException: Hibernate Dialect must be explicitly set Weiß hier vielleicht jemand, woran dies genau liegen kann. Für Eure schnelle Hilfe bin ich Euch jetzt schon einmal sehr dankbar. Vielen Dank schon einmal im Voraus!! Bis denne Buergy

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...