Hibernate Mapping Package

后端 未结 6 1121
深忆病人
深忆病人 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条回答
  •  -上瘾入骨i
    2020-11-28 08:04

    I have done some investigations of class scanning approaches, using answers from StackOverflow. So I gather all it together, using a Hibernate entities scanning as a test, in the one test project: hibernate-scanners-test.

    Using fluent-hibernate

    If you are looking for a quick scanning approach without additional dependencies, you can try fluent-hibernate library (you will not need to have other jars, except the library). Apart this, it has some useful features for Hibernate 5 and Hibernate 4, including entities scanning, a Hibernate 5 implicit naming strategy, a nested transformer and others.

    Just download the library from the project page: fluent-hibernate and use EntityScanner:

    For Hibernate 4 and Hibernate 5:

    Configuration configuration = new Configuration();
    EntityScanner.scanPackages("my.com.entities", "my.com.other.entities")
        .addTo(configuration);
    SessionFactory sessionFactory = configuration.buildSessionFactory();
    

    Using a new Hibernate 5 bootstrapping API:

    List> classes = EntityScanner
            .scanPackages("my.com.entities", "my.com.other.entities").result();
    
    MetadataSources metadataSources = new MetadataSources();
    for (Class annotatedClass : classes) {
        metadataSources.addAnnotatedClass(annotatedClass);
    }
    
    SessionFactory sessionFactory = metadataSources.buildMetadata()
        .buildSessionFactory();
    

提交回复
热议问题