`
TedTian
  • 浏览: 18519 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用Hibernate自动创建表时请注意下default_schema

阅读更多

使用Hibernate自动创建表的同学请注意下了!

Oralce数据库环境下,有两个Scheme ,如Scheme 1与Scheme 2;并且Scheme 1的user具有DBA权限,能够访问到Scheme 2中的T_CONFIG表(假设T_CONFIG表在Scheme 2中已经存在)。那么在Scheme 1中使用Hibernate的自动创建表T_CONFIG时,可能出现在Scheme 1中不能创建T_CONFIG表的情况。

 

无意中发现这个问题的,启动项目时,没有正常打印出INFO org.hibernate.tool.hbm2ddl.TableMetadata - foreign keys: [] 日志,本来以为是Hibernate不能自动创建表的原因,于是重新建了个用户,只给予此用户Resouce与connect角色权限,配置好后重启应用发现能够自动创建表(但是还是没看到校验的日志信息);诧异了中看了下Hibernate的源码,发现如果不配置default_schema那么程序将使用默认的Environment.DEFAULT_SCHEMA(从hibernate.properties文件中获取,hibernate.properties没有配置就是null)。

解决方法,如果是用了spring+hibernate配置如下:

<bean name="hibernateProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">

<property name="properties">

<props>

<prop key="hibernate.default_schema">${hibernate.default_schema}</prop>

<!--其他配置-->

</props>
</property>
 </bean>

 

至于校验信息不能打印出来是由于slf4j两个包冲突了,去掉slf4j-log4j12就可以正常显示了。

 

如果不想使用Hibernate的自动创建表功能,只要不设置此参数局可以了,spring默认注入此参数是false

<property name="schemaUpdate" value="${hibernate.schema_update}"/>

 

0
3
分享到:
评论

相关推荐

    国产数据库达梦 神通 金仓安装使用教

    - **Hibernate配置**: 配置文件中的`jdbc.url`、`hibernate.dialect`、`jdbc.username`、`jdbc.password`、`hibernate.default_catalog`以及`hibernate.default_schema`等参数需根据实际情况进行调整。 **注意事项*...

    struts2 spring hibernate整合要点、注意点

    ### Struts2、Spring与Hibernate整合的关键点及注意事项 #### 一、概述 在Java Web开发领域,Struts2、Spring以及Hibernate是三个非常重要的框架。它们分别在MVC架构、依赖注入与业务逻辑管理、对象关系映射等方面...

    cms后台管理

    五 自定义标签及使用自己创建的表的实现过程 下面是我自己定义的标签mycontent_list 首先,在数据库里创建了一个jc_mycontent的表,其中有id,title,content三个字段 其次,创建了一个实体类 public class ...

    S2SH搭建方式

    S2SH框架是指Struts、Spring以及Hibernate这三个开源框架的组合使用。这种组合能够有效地提高Web应用的开发效率,简化复杂业务逻辑的处理,并增强系统的可维护性。本文将详细介绍如何在开发环境中搭建S2SH框架。 ##...

    ssh环境配置

    **注意**:如果使用的是Tomcat 5.0,请确保移除`common\endorsed`目录下的`xml-apis.jar`文件,以避免发布测试时出现问题。 ##### 2. 配置Struts2 - **添加Struts2依赖库**: - `commons-logging-1.0.4.jar` - `...

    springmybatis

    请注意,这里面有一个方法名 selectUserByID 必须与 User.xml 里面配置的 select 的id 对应() 重写测试代码 程序代码 程序代码 public static void main(String[] args) { SqlSession session = ...

    Struts2的配置

    题目提到的是2.3.16.3版本,但随着软件的更新迭代,实际下载时请注意获取最新的稳定版本。推荐下载“Full Distribution”版本,因为它包含了所有必需的库文件和文档。 #### 三、项目创建与配置 使用Eclipse IDE...

    SSH2整合详细示例

    &lt;package name="default" extends="struts-default"&gt; &lt;result name="success"&gt;/WEB-INF/jsp/userList.jsp ``` 3. **applicationContext.xml**: ```xml ...

Global site tag (gtag.js) - Google Analytics