网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.J2EE应用之——Flex中的数据管理.
.迈向高质量的12个步骤.
.初学者入门:Structs中基本配置入.
.Java中文问题详解,底层编码解剖.
.Java编程测试1M内存可用来缓存多.
.Java 5.0 多线程编程实.
.Java基础:如何成为一名Java初级.
.CheckStyle 及其配置的详细解释.
.JAVA中几个易混淆关键词的理解.
.我见过的最长的表达式.
.JAVA规则 基本篇.
.Java的垃圾收集机制.
.用AWT组件实现登录对话框.
.JAVA入门教程:第二章.
.JACOB配置方法及两个常见错误解决.
.JDBC2.0扩展API(4).
.国内不谈Java--硅谷有感.
.怎样用Java的加密机制来保护你的.
.将Java程序变成Windows系统服务.
.JAVA连接SQLSERVER的例子.

Hibernate项目中工具箱指南

发表日期:2008-1-5


    通过Hibernate项目中提供的几个命令行工具(他们也被当作项目的一部分不断得到维护),还有XDoclet,Middlegen和AndroMDA内置的对Hibernate的支持,可以在几个不同的环境(SQL,java代码,xml映射文件)中进行相互转换(roundtrip)。

Hibernate的主发行包中附带了最重要的工具(甚至在Hibernate内部也可以快速调用这个工具):

  • 从映射文件到DDL schema的生成器(也就是SchemaExport和hbm2ddl)

Hibernate项目直接提供的其他工具在一个单独的发行包中发布,Hibernate Extensions。这个发行包包含了下列任务的工具:

  • 从映射文件到Java源代码的生成器(也就是CodeGenerator,hbm2java)

  • 从已编译的Java类或者带有XDoclet标记的Java源代码生成映射文件(它们是MapGenerator,class2hbm)

    实际上Hibernate Extensions里面还有一个工具:ddl2hbm。但是它已经被废弃了,已经不再被维护了。Middlegen完成了同样的任务,并且更加出色。

对Hibernate提供支持的第三方工具有:

  • Middlegen (从现有的数据库schema中生成映射文件)

  • AndroMDA ( 使用MDA思想(Model-Driven Architecture ,模型驱动体系)的代码生成器,它从UML图和其XML/XMI等价形式中生成持久化类的代码)

    这些第三方工具没有在这篇指南中说明。请查阅Hibernate 网站得到关于它们目前的情况。(Hibernate主发行包中有关于整个网站的快照)

15.1. Schema 生成器(Schema Generation)

    可以从你的映射文件使用一个命令行工具生成DDL。在Hibernate主发行包的hibernate-x.x.x/bin目录下有一个批处理文件。

    生成的schema包含有对实体和集合类表的完整性引用约束(主键和外键)。涉及到的标示符生成器所需的表和sequence也会同时生成。

在使用这个工具的时候,你必须 通过hibernate.dialet属性指定一个SQL方言(Dialet)。

15.1.1. 对schema定制化(Customizing the schema)

    很多Hibernate映射元素定义了一个可选的length属性。你可以通过这个属性设置字段的长度。 (假如是Or, for numeric/decimal data types, the precision.)

   有些tag接受not-null属性(用来在表字段上生成NOT NULL约束)和unique属性(用来在表字段上生成UNIQUE约束)。

    有些tag接受index属性,用来指定字段的index名字。unique-key属性可以对成组的字段指定一个组合键约束(unit key constraint)。目前,unique-key属性指定的值并不会被当作这个约束的名字,它们只是在用来在映射文件内部用作区分的。

示例:

<property name="foo" type="string" length="64" not-null="true"/>
<many-to-one name="bar" foreign-key="fk_foo_bar" not-null="true"/>
<element column="serial_number" type="long" not-null="true" unique="true"/>

另外,这些元素还接受<column>子元素。在定义跨越多字段的类型时非凡有用。

<property name="foo" type="string">
<column name="foo" length="64" not-null="true" sql-type="text"/>
</property>
<property name="bar" type="my.customtypes.MultiColumnType"/>
<column name="fee" not-null="true" index="bar_idx"/>
<column name="fi" not-null="true" index="bar_idx"/>
<column name="fo" not-null="true" index="bar_idx"/>
</property>

sql-type属性答应用户覆盖默认的Hibernate类型到SQL数据类型的映射。

check属性答应用户指定一个约束检查。

<property name="foo" type="integer">
<column name="foo" check="foo > 10"/>
</property>
<class name="Foo" table="foos" check="bar < 100.0">
...
<property name="bar" type="float"/>
</class>


上一篇:监控Proxool连接池的活动连接变化情况 人气:982
下一篇:开源技术:Hibernate 3注释简介 人气:995
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐