<property name="generateDdl" value="true" />时,报表或视图不存在

基于jpa作为持久层,开发项目的时候,在bean.xml的文件中的数据源配置中设置了

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="jpaVendorAdapter">
			<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
				<property name="database" value="ORACLE" />
				<property name="showSql" value="true" />
				<property name="generateDdl" value="true" />
			</bean>
		</property>
	</bean>

 一般情况下,会在项目启动的过程中,自动检查注解的实体和数据表,如果数据库不存在的标,会根据实体自动生成,但是,今天,遇到了一个奇怪的一个问题,表始终 没有生成,因此,在其他表应用本来须要生成的表的时候,总是报表或视图找不到的错如:

2011-05-06 09:45:56 [org.hibernate.tool.hbm2ddl.SchemaUpdate]-[ERROR] Unsuccessful: alter table r_role_x_menu add constraint FK474DC862E1A553E2 foreign key (menu_id) references p_menu 
2011-05-06 09:45:56 [org.hibernate.tool.hbm2ddl.SchemaUpdate]-[ERROR] ORA-00942: 表或视图不存在 

解决方案:

查看其他的同一表空间的其他用户下是否有相同的的表,如果存在,有的话删除即可,其实避免这种情况的根本方法是,给Oracle用户都指定一个自定义的表空间,不要使用Users表空间。

猜你喜欢

转载自liuyunlong1229.iteye.com/blog/1965512
今日推荐