映射数据库对象

映射数据库对象

有时候我们希望在映射文件中创建和删除触发器、存储过程等数据库对象,Hibernate提供了<database-object .../>元素来满足这种需求。

使用<database-object .../>元素只有如下两种形式。

第一种形式是在映射文件中显式声明create和drop命令:

<hibernate-mapping auto-import="true" default-lazy="true">

...

<database-object>

<create>create trigger t_full_content_gen ...</create>

<drop>create trigger t_full_content_gen</drop>

</database-object>

</hibernate-mapping>

上面的<create .../>元素里的内容就是一个完整的DDL语句,用于创建一个触发器;而<drop .../>元素里也定义了删除指定数据库对象的DDL,每个<database-object .../>元素中只有一组<create .../>,<drop .../>对。

第二种形式是提供一个类,这个类知道如何组织create和drop命令。这个特别类必须实现org.hibernate.mapping.AuxiliaryDatabase-

Object接口。

<hibernate-mapping auto-import="true" default-lazy="true">

...

<database-object>

<definition class="MyTriggerDefinition" />

</database-object>

</hibernate-mapping>

如果我们想指定某些数据库对象仅在特定的方言中才能使用,还可以在<database-object .../>元素里使用<dialect-scope .../>子元素来进行配置。

<hibernate-mapping auto-import="true" default-lazy="true">

...

<database-object>

<create>create trigger t_full_content_gen ...</create>

<drop>create trigger t_full_content_gen</drop>

<!-- 定义仅对Mysql数据库有效 -->

<dialect-scope  name="org.hibernate.dialect.MySQLDialect"/>

<dialect-scope  name="org.hibernate.dialect.MySQLInnoDBDialect"/>

</database-object>

</hibernate-mapping>

时间: 2024-11-09 09:38:54

映射数据库对象的相关文章

Android 学习笔记之AndBase框架学习(五) 数据库ORM..注解,数据库对象映射...

PS:好久没写博客了... 学习内容: 1.DAO介绍,通用DAO的简单调度过程.. 2.数据库映射关系... 3.使用泛型+反射+注解封装通用DAO.. 4.使用AndBase框架实现对DAO的调用实现数据库基本操作.. 1.DAO..   DAO..这个说法大家都不陌生..数据库操作访问对象的抽象接口层..在DAO内部封装好通用的方法..然后再使用一个具体类来进行实现..在我们想要调用这些方法对数据库进行相关操作时..只需要传递数据实体对象,就可以通过实体对象的传递从而实现对数据库进行操作.

Oracle学习笔记九 数据库对象

Oracle 数据库对象又称模式对象,数据库对象是逻辑结构的集合,最基本的数据库对象是表. 其他数据库对象包括: 同义词 同义词是现有对象的一个别名.它的作用有: 1.简化SQL语句 2.隐藏对象的名称和所有者(隐藏原始对象内容) 3.提供对对象的公共访问 同义词共有两种类型: 公有同义词可被所有的数据库用户访问. 私有同义词只能在其模式内访问,且不能与当前模式的对象同名. 创建或替换现有同义词 create or replace synonym emp_syn for scott.emp; 删

Oracle数据库对象_视图

视图是一种非常重要的数据库对象,它的形式类似于普通表,我们可以从视图中查询数据. 实际上它是建立在表上的一种虚表,在视图中并不存储真正的数据,而是仅仅保存一条SELECT语句,对视图的访问将被转化为对表的访问. 视图所基于的表称为基表,而视图可以认为是对基表的一种查询操作. 使用视图的主要目的是为了方便用户访问基表,以及保证用户对基表的安全访问. 对用户而言,往往要对一个表进行大量的查询操作,如果查询操作比较复杂,并且需要频繁地进行,那么可以为这个查询定义一个视图. 需要注意的是,在视图中并不保

oracle系列(四)oracle事务和常用数据库对象

博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 前言:本次内容的相关知识点我们在学习sqlserver2008R2的时候介绍过一些,包括:事务.索引.视图等.那么今天我们学习在oracle上实现这些重要的内容,以实现数据库的优化. 一.事务 1.简介 事务是数据处理的核心,是业务上的一个逻辑单元,它能够保证其中对数据所有的操作,要么全部成功,要么全部失败.DBMS通过事务的管理来协调用

Oracle(一)--&gt; 数据库对象详解(文字解释,先有个小理解~)

----数据库对象:逻辑结构的集合 ---- 一.同义词:现有对象的别名 /* 作用:  简化SQL语句 隐藏对象的名称和所有者 提供对对象的公共访问 分类:*/ --公有同义词:可以被所有的数据库用户访问,本地对象和公有对象同名时,本地对象优先 create public synonym syn1 for scott.emp; select * from syn1; --私有同义词:只能被当前模式访问,且不能与当前模式下的对象同名 create synonym emp1 for scott.e

第六章、数据库及数据库对象

第六章.数据库及数据库对象 内容提要: 1.了解数据库的组成及特点 2.掌握SQL Server2008的安装与配置 3.掌握数据库的创建及维护方法 4.掌握架构的定义与维护方法 5.掌握分区表.索引及视图的创建及维护方法 第一节.创建及维护数据库 1.1.SQL Server数据库概述 SQL Server的发展史 SQL Server 7.0(1999年,正式跻身企业数据库行列) SQL Server 2000(2000年,代表产品) SQL Server 2005(2005年,代号"Yuk

数据库对象(视图,序列,索引,同义词)【weber出品必属精品】

视图视图的定义:视图就是一个查询的别名为什么使用视图限制数据的存取 SQL> conn /as sysdba 已连接. SQL> grant create view to scott; 授权成功. SQL> create view v1 as select empno,ename,job,mgr from emp; 视图已创建. SQL> select * from v1; EMPNO ENAME JOB MGR ----- ------ --------- ----- 7369

Oracle数据库对象

Oracle数据库对象又称模式对象,它是逻辑结构的集合,其中最基本的数据库对象是表.常见的数据库对象包括同义词.序列.视图等. 1.视图 视图可以限制表中一组行为访问.隐藏了数据的复杂性.简化了用户的sql.基表定义修改隔离.通过重命名列从另一个角度提供了数据. 2.触发器(Trigger) 如果想对视图进行增删改,就可以使用触发器. 3.数据字典 oracle中分为了静态数据字典和动态数据字典. 静态数据字典: dba_*** :查看所有的用户表 all_*** :查看该用户下能看到的所有表

MySQL之数据库对象查看工具mysqlshow

mysqlshow:数据库对象查看工具,用来快速查找存在哪些数据库.数据库中的表.表中的列或索引. 选项:--count    显示数据库和表的统计信息 -k         显示指定的表中的索引 -i         显示表的状态信息 不带任何参数显示所有数据库 [[email protected] mysql-5.6.30]# mysqlshow +--------------------+ |     Databases      | +--------------------+ | in