Using reflection for Hibernate classes.

master
Markus Kreth 7 years ago
parent 8807595b1a
commit b18db77e4d
  1. 6
      pom.xml
  2. 11
      src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/Persongroup.java
  3. 45
      src/test/java/de/kreth/vaadin/clubhelper/AbstractHibernateConfiguration.java

@ -169,6 +169,12 @@
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
<version>0.9.11</version>
</dependency>
<dependency>
<groupId>simple-jndi</groupId>
<artifactId>simple-jndi</artifactId>

@ -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() {

@ -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<Class<?>> 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");

Loading…
Cancel
Save