仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1868|回复: 9
打印 上一主题 下一主题

[DIV+CSS] 给大家带来Hibernate设置文件中映照元素详解

[复制链接]
小妖女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 00:25:03 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
不管你用什么工具软件制作网页,都有在有意无意地使用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基础。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-13 20:49

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表