diff --git a/pom.xml b/pom.xml index 3bafbcd..478aef8 100644 --- a/pom.xml +++ b/pom.xml @@ -169,6 +169,12 @@ test + + org.reflections + reflections + 0.9.11 + + simple-jndi simple-jndi diff --git a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/Persongroup.java b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/Persongroup.java index 5b4e89e..ca9b4ec 100644 --- a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/Persongroup.java +++ b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/Persongroup.java @@ -10,26 +10,25 @@ import javax.persistence.ManyToOne; import javax.persistence.NamedQuery; import javax.persistence.Table; - /** * The persistent class for the persongroup database table. * */ @Entity -@Table(name="persongroup") +@Table(name = "persongroup") @Inheritance(strategy = InheritanceType.SINGLE_TABLE) -@NamedQuery(name="Persongroup.findAll", query="SELECT p FROM Persongroup p") +@NamedQuery(name = "Persongroup.findAll", query = "SELECT p FROM Persongroup p") public class Persongroup extends BaseEntity implements Serializable { private static final long serialVersionUID = -2466223964213904302L; - //bi-directional many-to-one association to Person + // bi-directional many-to-one association to Person @ManyToOne private Person person; - //bi-directional many-to-one association to GroupDef + // bi-directional many-to-one association to GroupDef @ManyToOne - @JoinColumn(name="group_id") + @JoinColumn(name = "group_id") private GroupDef groupDef; public Persongroup() { diff --git a/src/test/java/de/kreth/vaadin/clubhelper/AbstractHibernateConfiguration.java b/src/test/java/de/kreth/vaadin/clubhelper/AbstractHibernateConfiguration.java index 7c20df3..d012d59 100644 --- a/src/test/java/de/kreth/vaadin/clubhelper/AbstractHibernateConfiguration.java +++ b/src/test/java/de/kreth/vaadin/clubhelper/AbstractHibernateConfiguration.java @@ -1,41 +1,32 @@ package de.kreth.vaadin.clubhelper; +import java.util.HashSet; +import java.util.Set; + import org.hibernate.cfg.Configuration; +import org.reflections.Reflections; -import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Adress; -import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Altersgruppe; -import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Attendance; +import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.BaseEntity; 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.Pflicht; -import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Relative; -import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Startpass; -import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.StartpassStartrechte; -import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Version; public abstract class AbstractHibernateConfiguration implements HibernateConfiguration { + private Set> entityClasses; + + public AbstractHibernateConfiguration() { + Reflections reflections = new Reflections("de.kreth.vaadin.clubhelper.vaadinclubhelper.data"); + entityClasses = new HashSet<>(reflections.getSubTypesOf(BaseEntity.class)); + entityClasses.add(ClubeventHasPerson.class); + } + @Override public void configure(Configuration configuration) { - configuration.addAnnotatedClass(Adress.class); - configuration.addAnnotatedClass(Altersgruppe.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(Pflicht.class); - configuration.addAnnotatedClass(Relative.class); - configuration.addAnnotatedClass(Startpass.class); - configuration.addAnnotatedClass(StartpassStartrechte.class); - configuration.addAnnotatedClass(Version.class); + + for (Class entityClass : entityClasses) { + configuration.addAnnotatedClass(entityClass); + } + configuration.addInputStream(getClass().getResourceAsStream("/schema/ClubEvent.hbm.xml")); - configuration.addAnnotatedClass(ClubeventHasPerson.class); configuration.setProperty("hibernate.hbm2ddl.auto", "update"); configuration.setProperty("spring.jpa.hibernate.ddl-auto", "update");