Hibernate Mapping Package

后端 未结 6 1155
深忆病人
深忆病人 2020-11-28 07:34

I\'m using Hibernate Annotations.

In all my model classes I annotate like this:

@Entity
@Table
public class SomeModelClass {
//
}

M

6条回答
  •  天涯浪人
    2020-11-28 07:56

    Bit of thread necromancy here...

    It still doesn't look like there's a good way to do what you want. If you don't want to use Spring, here's a similar method using Reflections:

    // Create your SessionFactory with mappings for every `Entity` in a specific package
    Configuration configuration = new Configuration();
    configuration.configure("your_hibernate.cfg.xml");
    
    Reflections reflections = new Reflections("your_package");
    
    Set> classes = reflections.getTypesAnnotatedWith(javax.persistence.Entity.class);
    
    for(Class clazz : classes)
    {
        configuration.addAnnotatedClass(clazz);
    }
    
    ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
    SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
    

    The same approach is probably viable for other Java reflection libraries.

提交回复
热议问题