开发环境eclipse,jdk1.7 oracle9i
在beans.xml加入自动创建表的语句,运行服务器的时候,在后台打印了创建表的语句,可是数据库查不到该表<!-- 配置数据源 -->
<bean id="ds" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:NAME"/>
<property name="username" value="epet"/>
<property name="password" value="bdqn"/>
</bean><!-- 配置SessionFactory -->
<!-- 把hibernate交给spring管理 -->
<bean id="sf" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<!-- 注入连接 -->
<property name="dataSource" ref="ds"></property>
<!-- 合成hibernate properties类型 -->
<property name="hibernateProperties">
<!-- 数据库方言 -->
<props>
<!-- 配置数据库版本 -->
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle9iDialect</prop>
<!-- 显示sql语句 -->
<prop key="hibernate.show_sql">true</prop>
<!-- 自动创建表格 -->
<prop key="hibernate.hbm2ddl.auto">create</prop>
<!-- 使用currentSession -->
</props>
</property>
<!-- hiberate的映射文件 -->
<property name="mappingResources">
<value>com/t118/model/Tickets.hbm.xml</value>
</property>
</bean>

解决方案 »

  1.   

    spring不会自动创建表,用hibernate可以自动创建
      

  2.   


    我打了ddl自动创建在别的机器可以
      

  3.   

    我仔细看了一下你的spring配置文件,没有发现问题,我怀疑你的oracle配置。你建用户的时候,有没有指定表空间?
    这样:你先自己登陆oracle,手动建一个表,然后再查一下,看能不能查得到。我之前遇过类似的问题,我在数据库建好表,就是查不出来,后来才知道是表空间的问题。祝好!