我有一个使用SchemaUpdate的主方法,可以在控制台上显示要更改/创建的表格,在我的Hibernate项目中运行良好:
public static void main(String[] args) throws IOException {
//first we prepare the configuration
Properties hibProps = new Properties();
hibProps.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("jbbconfigs.properties"));
Configuration cfg = new AnnotationConfiguration();
cfg.configure("/hibernate.cfg.xml").addProperties(hibProps);
//We create the SchemaUpdate thanks to the configs
SchemaUpdate schemaUpdate = new SchemaUpdate(cfg);
//The update is executed in script mode only
schemaUpdate.execute(true, false);
...
我希望在一个JPA项目中重用这段代码,但是没有hibernate.cfg.xml文件(也没有.properties文件),而是有一个persistence.xml文件(根据JPA规范在META-INF目录中自动检测)。我尝试了这个过于简单的适配方法,
Configuration cfg = new AnnotationConfiguration();
cfg.configure();
但它以那个异常失败了。
Exception in thread "main" org.hibernate.HibernateException: /hibernate.cfg.xml not found
有人做过这个吗? 谢谢。
SchemaUpdate
构造函数不再有参数。execute()
方法不再接受boolean
类型的参数。 - Nathan