仓酷云

标题: 给大家带来Hibernate设置文件中映照元素详解 [打印本页]

作者: 小妖女    时间: 2015-1-16 00:25
标题: 给大家带来Hibernate设置文件中映照元素详解
不管你用什么工具软件制作网页,都有在有意无意地使用CSS。用好CSS能使你的网页更加简炼,同样内容的网页,有的人做出来有几十KB,而高手做出来只有十几KB。
  本文中将报告Hibernate的基础设置及设置文件的使用,这关于准确纯熟利用Hibernate是相称关头的。

  设置文件中映照元素详解

  工具干系的映照是用一个XML文档来讲明的。映照文档可使用工具来天生,如XDoclet,Middlegen和AndroMDA等。上面从一个映照的例子入手下手解说映照元素,映照文件的代码以下。

<?xmlversion="1.0"?>
<!--
一切的XML映照文件都必要界说以下所示的DOCTYPE。
Hibernate会先在它的类路径(classptah)中搜刮DTD文件。

-->
<!DOCTYPEhibernate-mappingPUBLIC
"-//Hibernate/HibernateMappingDTD3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<!--
hibernate-mapping有几个可选的属性:
schema属性指了然这个映照的表地点的schema称号。
default-cascade属性指定了默许的级联作风可取值有none、save、update。
auto-import属性默许让我们在查询言语中可使用非全限制名的类名可取值有true、false。
package属性指定一个包前缀。
-->

<hibernate-mappingschema="schemaName"default-cascade="none"
auto-import="true"package="test">

<!--用class元从来界说一个耐久化类-->
<classname="People"table="person">
<!--id元素界说了属性到数据库表主键字段的映照。-->
<idname="id">
<!--用来为该耐久化类的实例天生独一的标识-->
<generatorclass="native"/>
</id>
<!--discriminator辨认器是一种界说承继干系的映照办法-->

<discriminatorcolumn="subclass"type="character"/>
<!--property元素为类声了然一个耐久化的,JavaBean作风的属性-->
<propertyname="name"type="string">
<columnname="name"length="64"not-null="true"/>
</property>

<propertyname="sex"
not-null="true"
update="false"/>

<!--多对一映照干系-->
<many-to-onename="friend"
column="friend_id"
update="false"/>

<!--设置联系关系干系-->

<setname="friends"inverse="true"order-by="id">
<keycolumn="friend_id"/>
<!―一对多映照-->
<one-to-manyclass="Cat"/>
</set>
</class>
</hibernate-mapping>
  组件使用的办法

  组件有两品种型,即组件(component)和静态组件(dynamic-component)。在设置文件中,component元素为子工具的元素与父类对应表的字段创建起映照干系。然后组件能够声明它们本人的属性、组件大概汇合。component元素的界说以下所示:

<componentname="propertyName"class="className"insert="true|false"
upate="true|false"access="field|property|ClassName">

<property...../>
<many-to-one..../>
........
</component>
  在这段代码中,name是指属性名,class是类的名字,insert指的是被映照的字段是不是呈现在SQL的INSERT语句中,upate指出被映照的字段是不是呈现在SQL的UPDATE语句中,access指出会见属性的战略。

12下一页
  Hibernate映照范例

  在工具/干系映照文件中,Hibernate接纳映照范例作为Java范例和SQL范例的桥梁。Hibernate映照范例分为2种:内置映照范例和自界说映照范例。

  1、内置映照范例

  Hibernate对一切的Java原生范例、经常使用的Java范例如String、Date等都界说了内置的映照范例。表2列出了Hibernate映照范例、对应的Java范例和对应的尺度SQL范例。

  表2Hibernate内置映照范例
Hibernate映照范例Java范例尺度SQL范例巨细integer/intjava.lang.Integer/intINTEGER4字节longjava.lang.Long/longBIGINT8字节shortjava.lang.Short/shortSMALLINT2字节bytejava.lang.Byte/byteTINYINT1字节floatjava.lang.Float/floatFLOAT4字节doublejava.lang.Double/doubleDOUBLE8字节big_decimaljava.math.BigDecimalNUMERICcharacterjava.lang.Character/java.lang.String/charCHAR(1)定长字符stringjava.lang.StringVARCHAR变长字符boolean/yes_no/true_falsejava.lang.Boolean/BooleanBIT布尔范例datejava.util.Date/java.sql.DateDATE日期timestampjava.util.Date/java.util.TimestampTIMESTAMP日期calendarjava.util.CalendarTIMESTAMP日期calendar_datejava.util.CalendarDATE日期binarybyte[]BLOB
BLOBtextjava.lang.StringTEXTCLOBserializable完成java.io.Serializablej接口的恣意Java类BLOBBLOBclobjava.sql.ClobCLOBCLOBblobjava.sql.BlobBLOBBLOBclassjava.lang.ClassVARCHAR定长字符localejava.util.LocaleVARCHAR定长字符timezonejava.util.TimeZoneVARCHAR定长字符currencyjava.util.CurrencyVARCHAR定长字符
  2、自界说映照范例

  Hibernate供应了自界说映照范例接口,同意用户以编程的体例创立自界说的映照范例。用户自界说的映照范例必要完成net.sf.hibernate.UserType或net.sf.hibernate.CompositeUserType接口。详细的创立自界说映照范例的办法请参考hibernate官方文档或相干材料,这里不再具体先容。上一页12</p>
学习这篇入门教程之前,请确定你已经具有了一定的HTML基础。
作者: 山那边是海    时间: 2015-1-17 07:54
只要我们努力,无论是怎样的艰难险阻,成功依然会迎面直击。在刚开始时我觉得dreamweavermxXX很难理解。
作者: 仓酷云    时间: 2015-1-20 15:51
运动)时间轴面板--拖动关键帧--单击整条--将鼠标移至中间一点--右击选择增加关键帧--移动中间关键帧的图层--勾选自动播放,循环
作者: 兰色精灵    时间: 2015-1-29 12:45
每天上网看着那样多的网页,于是我才下定决心选择了网页制作这一门课程,目的就是希望以后能够做出一个完美的网页来。
作者: 分手快乐    时间: 2015-2-6 01:05
是当我和赵丽芬崔明艳老师进行交流后,很快就了解了还不太清楚的内容和并不了解的知识(像布局表格、绘制布局单元格等)。
作者: 不帅    时间: 2015-2-14 19:31
以上大概就是文字图片的一些链接方法,通过学习Dreamweaver、练习让我对dreameaver8有了进一步的认识,他其实是一款很好的建立Web站点和应用程序的软件。它将可视布局工具、应用程序开发功能和代码编辑支持组合在一起,其功能强大,使得各个层次的开发人员和设计人员都能够快速创建界面吸引人的基于标准的网站和应用程序。
作者: 老尸    时间: 2015-3-4 10:02
HTML技术的不断发展和完善,随之而产生了众多网页编辑器,从网页编辑器基本性质可以分为所见即所得网页编辑器和非所见即所得网页编辑器(则原始代码编辑器)
作者: 飘灵儿    时间: 2015-3-11 18:15
在刚开始接触网页的第一堂课上,听说网页制作会是一门很无聊并且很难听懂的过程,而事实却印证了这样一个事实。
作者: 若天明    时间: 2015-3-19 06:44
时间轴)窗口--时间轴--选中图层并拖图层到时间轴,将其放在指定帧上
作者: 只想知道    时间: 2015-3-27 12:09
这个过程其实就是交流的过程。所有的这些都需要花时间。在面对完全陌生的软件时,就要多花时间对其产生初步的印象。此外,多操作也是非常重要的。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2