在hibernate.cfg.xml配置文件中:
<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">create</property>
这样的话hibernate就会自动创建表,但结果总会报出如下错误:ERROR JDBCExceptionReporter:234 - ORA-00942: 表或视图不存在,这是为什么呢?
经过分析,Oracle数据库与Mysql的差别很大,Oracle数据库中,一个数据库下可以有多个表空间,多个用户可以有不同的表空间,如果用户A的表空间中已经存在table1,则使用如上方式在用户B的表空间再自动创建table1是不行的。
所以,可以删除用户A的表空间的重名table1,然后再用hibernate自动加载创建表即可;或者创建一个新的数据库空间。