本文地址:http://blog.csdn.net/sushengmiyan/article/details/50422102

本文作者:苏生米沿

Hibernate 读取你java模型类的映射元数据,并且生成schemaDDL语句。你可以将它们导出到一个text文件中,或者当你在继承测试运行的时候直接在数据库执行。因为大多数数据库schema语言是有产品特性的,你需要一直保持在头脑中的是每一个你加入到映射元数据的选项都有潜力绑定到一个特定的数据库。

Hibernate 给你的表和约束自动创建基本的schema;它甚至会根据你选择的主键生成方式来创建序列。但是也有一些hibernate不会自动创建的schema特性。这包括所有高级数据库产品特性和其他物理存储数据的相关特性,比如tablespace.另外,你的DBA也会经常增加一些额外的schema语句来改善你的schema.DBAs应该早期就介入并且确定hibernate自动生成的schema.绝不允许不经过检查就将自动生成的schema部署到产品中去。

如果你的产品开发步骤允许,DBA进行的改变可以反馈到把你的JAVA系统中,增加映射元数据。在许多项目中,映射元数据可以包括所有DBA 修改的必要schema变化。然后,hibernate就可以自动生成所有产品的最终schema,包含注释、约束、索引等等。

下一节,我们给你展示如何自定义生成的schema和如何增加自由的数据库schema组件,我们讨论自定义的数据类型,额外的一致性规则,索引,还有如何替换hibernate自动生成的schema。

导出schema基本文件到一个文件

Hibernate 绑定org.hibernate.tool.hbm2ddl,SchemaExport类到主方法main(),你可以从命令行运行。这个辅助可以直接跟你的数据库会话,并且创建schema或者写一个文本文件,以便于你的DBA可以进行自定义优化改善。

改善database schema的更多相关文章

  1. database schema

    数据中有4个Schema无法被删除 ● dbo, 具有db_owner或者db_ddl_admin 的用户,新创建对象默认schema就是dbo ● guest , 用来给guest 用户使用,这个s ...

  2. Could not update Activiti database schema: unknown version from database: '5.20.0.1'

    转: Could not update Activiti database schema: unknown version from database: '5.20.0.1' 2017年11月22日 ...

  3. Create schema error (unknown database schema '')

    Andrey Devyatka 4 years ago Permalink Raw Message Hi,Please tell me, can I use the static library in ...

  4. [odb-users] Create schema error (unknown database schema '')

    Boris Kolpackov boris at codesynthesis.comFri May 31 11:13:02 EDT 2013 Previous message: [odb-users] ...

  5. PostgreSQL中,database,schema,table之间关系

    从逻辑上看,schema,table,都是位于database之下. 首先,在postgres数据库下建立表(相当于建立在public schema下): [pgsql@localhost bin]$ ...

  6. openfire 安装配置时出现The Openfire database schema does not appear to be installed. Follow the installati错误的解决方案

    最近再弄openfire用openLDAP整合,本来没整合的时候选的标准数据库没问题,但是现在用嵌入式数据库,就报错了,,, 报错原因:没有导入openfire的数据表 解放办法: 1.登陆数据库 , ...

  7. How to generate entities from database schema using doctrine-orm-module

    1.安装好doctrine,在composer.json中添加如下 "require": { "php": "^5.6 || ^7.0", ...

  8. Could not update Activiti database schema: unknown version from database: '5.22.x.x'

    原因:activiti 相关的jar版本和表 act_ge_property 中 schema.version 所存储的版本不一致导致报错的. 查看activiti 相关jar版本 然后修改表中的版本 ...

  9. Database Schema Reader

    数据架构与INSERT脚本生成 https://dbschemareader.codeplex.com/wikipage?title=Writing%20Data&referringTitle ...

随机推荐

  1. requests-认证设置

    #如果需要用户名和密码才能登陆网站,则需要认证设置auth=() import requests response = requests.get(url,auth=('user','password' ...

  2. 0418 jQuery笔记(添加事件、each、prop、$(this))

    1.添加点击事件.each.prop.$(this) //全选框的被动操作 //定义一个标志保存最终状态 var flag = false; //为每一个选择框添加点击事件,数组.click() $( ...

  3. python 云打码 hhtp接口

    import http.client, mimetypes, urllib, json, time, requests ######################################## ...

  4. pat 1001 A+B Format

    题目链接:传送门 题目简述: 1. 给定两个整数值a,b: 2.范围-1000000 <= a, b <= 1000000: 3.按指定格式输出结果 例:-100000 9 输出: -99 ...

  5. [HNOI 2016]最小公倍数

    Description 题库链接 给定一张 \(N\) 个顶点 \(M\) 条边的无向图(顶点编号为 \(1,2,\cdots,n\) ),每条边上带有权值.所有权值都可以分解成 \(2^a\time ...

  6. POJ 1721 CARDS

    Alice and Bob have a set of N cards labelled with numbers 1 ... N (so that no two cards have the sam ...

  7. Go学习——new()和 make()的区别详解(转载)

    这篇文章主要介绍了Go语言中new()和 make()的区别详解,本文讲解了new 的主要特性.make 的主要特性,并对它们的区别做了总结,需要的朋友可以参考下 概述 Go 语言中的 new 和 m ...

  8. 【NOIP2015TG】solution

    链接:https://www.luogu.org/problem/lists?name=&orderitem=pid&tag=83%2C32 D1T1(magic) 题意:看题目.. ...

  9. [BZOJ]4199: [Noi2015]品酒大会(后缀数组+笛卡尔树)

    Time Limit: 10 Sec  Memory Limit: 512 MB Description Input Output Sample Input 10 ponoiiipoi 2 1 4 7 ...

  10. HDU2303(数论)大整数求余+素数筛选

    Sample Input 143 10 143 20 667 20 667 30 2573 30 2573 40 0 0   Sample Output GOOD BAD 11 GOOD BAD 23 ...