`
TedTian
  • 浏览: 18380 次
  • 性别: 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
分享到:
评论

相关推荐

    MySQL中information_schema是什么

    这个数据库在MySQL安装时自动生成,并且对于理解和管理MySQL系统具有重要作用。本文将详细介绍`information_schema`的功能、结构以及如何利用它来获取MySQL系统的各种信息。 #### 一、information_schema简介 `...

    MySQL 5.6中备份及还原performance_schema配置

    这将重建`performance_schema`的表结构,但请注意,恢复不会重新填充性能数据,因为这些数据是运行时生成的。如果需要恢复特定的性能数据,可能需要额外的机制或工具来捕获和恢复。 在`default_perf_setup.sql`文件...

    store_schema.sql脚本

    `store_schema.sql`脚本通常由一系列SQL语句组成,用于创建和配置数据库中的各种对象。这些语句可能包括: 1. **CREATE TABLE**:定义表的结构,包括字段名、数据类型、主键、外键等。例如,`CREATE TABLE products...

    persistence-2_0-final-jar_and_schema.zip

    《深入理解JPA:基于persistence-2_0-final-jar_and_schema.zip的解析》 在Java开发领域,Java Persistence API(JPA)是用于管理关系数据库中的对象持久化的一个重要标准。它为开发者提供了一种简洁、面向对象的...

    sakila_dwh_schema.sql

    sakila_dwh_schema.sql

    common_schema-2.2.sql

    mysql common_schema 完整sql。适合5.1版本以上,支持5.7以下的简单的json内容获取

    sample_schema_scripts Oracle 数据库 示例方案脚本(含结构+数据脚本)

    在本压缩包"sample_schema_scripts"中,包含了一系列用于创建Oracle示例方案的脚本,这些脚本分为结构脚本和数据脚本,旨在帮助那些在安装Oracle时未选择"示例方案"的用户能够快速搭建并体验示例数据。 结构脚本...

    使用information_schema.tables查询数据库和数据表信息1

    4. `table_rows`: 提供了表中大约有多少行数据的估计值,但请注意,这并不是精确的计数。 5. `data_length`: 显示表占用的字节数,包括数据部分。 6. `index_length`: 计算了索引所占的存储空间。 7. `row_format...

    ESI_Schema_V1i12.zip

    标题 "ESI_Schema_V1i12.zip" 指示的是一个包含与 EtherCAT 相关数据模型定义的压缩文件。这个版本是 V1i12,可能表示它是 EtherCAT Schema 的第1版第12次修订。"ESI" 是 EtherCAT Slave Information 的缩写,这是一...

    出现错误mysql Table 'performance_schema...解决办法

    在初始化数据库时,如果没有正确配置,可能需要手动创建或初始化`performance_schema`。 7. **更新MySQL客户端工具**: 如果使用的是命令行或其他管理工具,确保这些工具版本与MySQL服务器兼容,有时旧版工具可能...

    store_schema.sql

    store_schema.sql脚本,oracle的store初始化脚本。

    PyPI 官网下载 | redshift_auto_schema-0.1.16-py3-none-any.whl

    1. **自动创建模式**:redshift_auto_schema可能能根据数据源自动创建Redshift表的模式,适应数据的变化,比如新字段的添加或旧字段的删除。 2. **同步更新**:当数据源发生变化时,库可能可以检测到这些变化,并...

    oracle创建表,索引,表空间,触发器,schema用户,序列的Sql文

    1. **创建表**:在Oracle中,使用`CREATE TABLE`语句来定义新的表格结构。例如: ```sql CREATE TABLE Employees ( EmployeeID INT PRIMARY KEY, FirstName VARCHAR2(50), LastName VARCHAR2(50), Position ...

    Oracle database 10g SQL开发指南中store_schema.sql脚本

    Oracle database 10g SQL开发指南中 store模式下的store_schema脚本 相应的本书的pdf电子书也在我的上传资源中,需要的可以去下载!

    出现错误mysql Table ‘performance_schema…解决办法

    在上述描述中,遇到的问题是当使用MySQL 5.1.34版本的`mysql-connector-java` JDBC驱动尝试连接MariaDB 5.7时,出现了“Table 'performance_schema.session_variables' doesn't exist”的错误。这是因为`performance...

    Python库 | table_schema_to_markdown-0.4.0-py2-none-any.whl

    在具体使用`table_schema_to_markdown-0.4.0-py2-none-any.whl`这个版本时,需要注意它是Python 2兼容的,尽管Python 2已经不再受官方支持,但在某些旧项目中仍可能被广泛使用。"none-any"表示这个库是平台无关的,...

    PyPI 官网下载 | json_schema_generator2-0.1.12-py2.py3-none-any.whl

    而`json_schema_generator2` 库则提供了一种方法,通过分析Python类或对象,自动生成对应的JSON Schema,这样在处理JSON数据时可以确保数据的正确性和一致性。 在实际应用中,使用JSON Schema的好处包括: 1. 数据...

    为 Hibernate 创建一张简单的表

    现在,当我们运行应用时,Hibernate会根据我们的实体类自动创建对应的数据库表。在上述`User`类的例子中,它会在数据库中创建一个名为`User`的表,包含`id`、`name`和`email`三个字段。 然而,`sql.sql`文件可能...

    Python库 | json_schema_generator2-0.1.4-py2.py3-none-any.whl

    安装完成后,你可以导入`json_schema_generator2`库到你的Python项目中,然后根据库的API文档(通常在安装后可以在Python的site-packages目录下找到相应的文档,或者在线搜索获取)来使用其功能。 开发过程中,利用...

Global site tag (gtag.js) - Google Analytics