Java 防止Hibernate架构更改
我不熟悉Hibernate,对它的配置有一些问题。我正在尝试设置与先前存在的Oracle数据库的只读连接。我不希望Hibernate执行任何DML/DDL并更改数据库模式,但每次尝试部署项目时,我都会看到这样的消息:Java 防止Hibernate架构更改,java,oracle,hibernate,spring-mvc,Java,Oracle,Hibernate,Spring Mvc,我不熟悉Hibernate,对它的配置有一些问题。我正在尝试设置与先前存在的Oracle数据库的只读连接。我不希望Hibernate执行任何DML/DDL并更改数据库模式,但每次尝试部署项目时,我都会看到这样的消息: INFO: updating schema SEVERE: Unsuccessful: create table WILLOEM.SAMPLE_INFO (SAMPLE_ID varchar2(255) not null, CELL_LINE varchar2(255), STUD
INFO: updating schema
SEVERE: Unsuccessful: create table WILLOEM.SAMPLE_INFO (SAMPLE_ID varchar2(255) not null, CELL_LINE varchar2(255), STUDY_ID varchar2(255), primary key (SAMPLE_ID))
SEVERE: ORA-00955: name is already used by an existing object
由于表创建失败,这里没有造成任何损坏,但我不想造成数据丢失的情况。如何配置Hibernate以只读方式运行?我是否可以完全阻止语句执行,而不添加缺乏权限的新Oracle用户
以下是我当前的Hibernate配置:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"><value>oracle.jdbc.OracleDriver</value></property>
<property name="url"><value>jdbc:oracle:thin:@source.db.somewhere.com:1524:WILLOEM</value></property>
<property name="username"><value>username</value></property>
<property name="password"><value>password</value></property>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource"><ref local="dataSource"/></property>
<property name="packagesToScan" value="com.willoem.project.hibernate" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory"><ref local="sessionFactory"/></property>
</bean>
oracle.jdbc.OracleDriver
jdbc:oracle:thin:@source.db.somewhere.com:1524:WILLOEM
用户名
密码
org.hibernate.dialen.oraclealent
真的
更新
您可以更改
<prop key="hibernate.hbm2ddl.auto">update</prop>
更新
到
验证
这将验证模式,但不会对其进行任何更改
<prop key="hibernate.hbm2ddl.auto">validate</prop>