Bây giờ tôi đang tạo ra EntityManagerFactory
như thế này:Tạo EntityManagerFactory programatically (không có tập tin persistence.xml) với các lớp chú thích
Map<String, String> properties = ImmutableMap.<String, String>builder()
.put(DRIVER, "com.mysql.jdbc.Driver")
.put(DIALECT, "org.hibernate.dialect.MySQL5Dialect");
.put(USER, dbUsername)
.put(PASS, dbPassword)
.put(URL, dbConnectionUrl)
//Some more properties
.build();
Ejb3Configuration cfg = new Ejb3Configuration();
cfg.configure(properties);
cfg.addAnnotatedClass(AuditEntry.class);
cfg.addAnnotatedClass(LastWrittenEventId.class);
//Some more annotated classes
return cfg.createEntityManagerFactory();
Tuy nhiên như tôi có thể nhìn thấy trong javadocs, Ejb3Configuration
bị phản đối và tôi không nên sử dụng nó. Tôi nên sử dụng Persistence.createEntityManagerFactory()
theo mục JPA spec phần 7.3. Nhưng sau đó tôi có thể vượt qua chỉ một số thuộc tính, nhưng tôi có thể thêm các lớp chú thích bằng cách nào đó?
Tôi nghĩ bài đăng này có thể giúp bạn http://stackoverflow.com/questions/8448950/adding-entity-classes-dynamically-at-runtime –