通过在某个包中添加所有类,在Hibernate中添加带注释的类。爪哇
问题内容:
有没有办法循环(例如通过for)所有类都在某个包中? 我要addAnnotatedClass(Class c)
上AnnotationConfiguration
。这样做:
AnnotationConfiguration annotationConfiguration.addAnnotatedClass(AdditionalInformation.class);
annotationConfiguration.addAnnotatedClass(AdditionalInformationGroup.class);
annotationConfiguration.addAnnotatedClass(Address.class);
annotationConfiguration.addAnnotatedClass(BankAccount.class);
annotationConfiguration.addAnnotatedClass(City.class);
//et cetera
我所有的表都放在包中Tables.Informations
。
问题答案:
如注释中所述,使用AnnotationConfiguration API无法将所有类加载到包中。这是您可以使用上述API进行的一些操作(请注意,“
addPackage”方法仅读取包元数据,例如在package-info.java类中找到的元数据,它不会加载包中的所有类):
http://docs.jboss.org/hibernate/annotations/3.5/reference/zh/html/ch01.html
sessionFactory = new AnnotationConfiguration()
.addPackage("test.animals") //the fully qualified package name
.addAnnotatedClass(Flight.class)
.addAnnotatedClass(Sky.class)
.addAnnotatedClass(Person.class)
.addAnnotatedClass(Dog.class)
.addResource("test/animals/orm.xml")
.configure()
.buildSessionFactory();