You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
3.5 KiB
79 lines
3.5 KiB
package de.kreth.vaadin.clubhelper;
|
|
|
|
import java.io.File;
|
|
|
|
import org.hibernate.cfg.Configuration;
|
|
|
|
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Adress;
|
|
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Attendance;
|
|
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.ClubeventHasPerson;
|
|
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Contact;
|
|
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.DeletedEntry;
|
|
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.GroupDef;
|
|
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Person;
|
|
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Persongroup;
|
|
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Relative;
|
|
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Startpaesse;
|
|
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.StartpassStartrechte;
|
|
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Version;
|
|
|
|
public enum HibernateHolder {
|
|
|
|
INSTANCE;
|
|
private final Configuration configuration = createConfig();
|
|
|
|
private org.hibernate.cfg.Configuration createConfig() {
|
|
Configuration configuration = new Configuration();
|
|
configuration.addAnnotatedClass(Adress.class);
|
|
configuration.addAnnotatedClass(Attendance.class);
|
|
configuration.addAnnotatedClass(Contact.class);
|
|
configuration.addAnnotatedClass(DeletedEntry.class);
|
|
configuration.addAnnotatedClass(GroupDef.class);
|
|
configuration.addAnnotatedClass(Person.class);
|
|
configuration.addAnnotatedClass(Persongroup.class);
|
|
configuration.addAnnotatedClass(Relative.class);
|
|
configuration.addAnnotatedClass(Startpaesse.class);
|
|
configuration.addAnnotatedClass(StartpassStartrechte.class);
|
|
configuration.addAnnotatedClass(Version.class);
|
|
configuration.addInputStream(getClass().getResourceAsStream("/schema/ClubEvent.hbm.xml"));
|
|
configuration.addAnnotatedClass(ClubeventHasPerson.class);
|
|
|
|
// mysqlTest(configuration);
|
|
h2Memory(configuration);
|
|
|
|
return configuration;
|
|
}
|
|
|
|
public void h2File(Configuration configuration) {
|
|
File f = new File("./database");
|
|
System.out.println("Databasepath: " + f.getAbsolutePath());
|
|
configuration.setProperty("hibernate.dialect", "org.hibernate.dialect.H2Dialect");
|
|
configuration.setProperty("hibernate.connection.driver_class", "org.h2.Driver");
|
|
configuration.setProperty("hibernate.connection.url", "jdbc:h2:file:" + f.getAbsolutePath());
|
|
configuration.setProperty("hibernate.hbm2ddl.auto", "create");
|
|
}
|
|
|
|
public void mysqlTest(Configuration configuration) {
|
|
configuration.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL8Dialect");
|
|
// configuration.setProperty("hibernate.connection.driver_class", "com.mysql.jdbc.Driver");
|
|
configuration.setProperty("hibernate.connection.url",
|
|
"jdbc:mysql://localhost/test?useUnicode=yes&characterEncoding=utf8&serverTimezone=Europe/Berlin");
|
|
configuration.setProperty("hibernate.connection.username", "markus");
|
|
configuration.setProperty("hibernate.connection.password", "0773");
|
|
configuration.setProperty("hibernate.hbm2ddl.auto", "update");
|
|
configuration.setProperty("spring.jpa.hibernate.ddl-auto", "update");
|
|
}
|
|
|
|
public void h2Memory(Configuration configuration) {
|
|
|
|
configuration.setProperty("hibernate.dialect", "org.hibernate.dialect.H2Dialect");
|
|
configuration.setProperty("hibernate.connection.driver_class", "org.h2.Driver");
|
|
|
|
configuration.setProperty("hibernate.connection.url", "jdbc:h2:mem:test;DB_CLOSE_ON_EXIT=FALSE");
|
|
configuration.setProperty("hibernate.hbm2ddl.auto", "create");
|
|
}
|
|
|
|
public static Configuration configuration() {
|
|
return INSTANCE.configuration;
|
|
}
|
|
}
|
|
|