欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Hibernate中抽象化主鍵使用教程

系統(tǒng) 2010 0

首先,在數(shù)據(jù)庫(kù)中建立表:
CREATE TABLE `container` (
? `containerId` varchar(50) NOT NULL,
? `container_type` varchar(50) NOT NULL,
? `size` double default NULL,
? `name` varchar(50) default NULL,
? `description` varchar(50) default NULL,
? `height` double default NULL,
? `length` double default NULL,
? `width` double default NULL,
? `diameter` double default NULL,
? PRIMARY KEY? (`containerId`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;

?

其中Container是一個(gè)抽象類(lèi),其下有兩個(gè)子類(lèi)Box和Bottle

?

package ?abstracttest;

public ? abstract ? class ?Container? ... {
??
private ?String?containerId;
??
private ? double ?size;
??
private ?String?name;
??
private ?String?description;
public ?String?getContainerId()? ... {
????
return ?containerId;
}

public ? void ?setContainerId(String?containerId)? ... {
????
this .containerId? = ?containerId;
}

public ?String?getDescription()? ... {
????
return ?description;
}

public ? void ?setDescription(String?description)? ... {
????
this .description? = ?description;
}

public ?String?getName()? ... {
????
return ?name;
}

public ? void ?setName(String?name)? ... {
????
this .name? = ?name;
}

public ? double ?getSize()? ... {
????
return ?size;
}

public ? void ?setSize( double ?size)? ... {
????
this .size? = ?size;
}

}

?

package ?abstracttest;

public ? class ?Bottle? extends ?Container? ... {
??
private ? double ?diameter;
??
private ? double ?height;
public ? double ?getDiameter()? ... {
????
return ?diameter;
}

public ? void ?setDiameter( double ?diameter)? ... {
????
this .diameter? = ?diameter;
}

public ? double ?getHeight()? ... {
????
return ?height;
}

public ? void ?setHeight( double ?height)? ... {
????
this .height? = ?height;
}

}

?

package ?abstracttest;

public ? class ?Box? extends ?Container? ... {
????
private ? double ?height;
????
private ? double ?length;
????
private ? double ?width;
????
public ? double ?getHeight()? ... {
????????
return ?height;
????}

????
public ? void ?setHeight( double ?height)? ... {
????????
this .height? = ?height;
????}

????
public ? double ?getLength()? ... {
????????
return ?length;
????}

????
public ? void ?setLength( double ?length)? ... {
????????
this .length? = ?length;
????}

????
public ? double ?getWidth()? ... {
????????
return ?width;
????}

????
public ? void ?setWidth( double ?width)? ... {
????????
this .width? = ?width;
????}

}

?

在HBM文件中,定義,抽象類(lèi)的配置

?

<? xml?version="1.0"?encoding="utf-8" ?>
<! DOCTYPE?hibernate-mapping?PUBLIC?"-//Hibernate/Hibernate?Mapping?DTD?3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
>
<!-- ?
????Mapping?file?autogenerated?by?MyEclipse?-?Hibernate?Tools
-->
< hibernate-mapping? package ="abstracttest" >
????
< class? name ="Container" ?abstract ="true" ?table ="container" >
???????
< id? name ="containerId" >
?????????
< generator? class ="uuid.hex" ></ generator >
???????
</ id >
???????
< discriminator? column ="container_type" ></ discriminator >
???????
< property? name ="size" ?column ="size" ></ property >
???????
< property? name ="name" ?column ="name" ></ property >
???????
< property? name ="description" ?column ="description" ></ property >
???????
< subclass? name ="Box" ?discriminator-value ="BOX" >
?????????
< property? name ="height" ?column ="height" ></ property >
?????????
< property? name ="width" ?column ="width" ></ property >
?????????
< property? name ="length" ?column ="length" ></ property >
???????
</ subclass >
???????
< subclass? name ="Bottle" ?discriminator-value ="BOTTLE" >
?????????
< property? name ="diameter" ?column ="diameter" ></ property >
?????????
< property? name ="height" ?column ="height" ></ property >
???????
</ subclass >
????
</ class >
</ hibernate-mapping >

?

最后是測(cè)試代碼

package ?abstracttest;

import ?org.hibernate.Session;
import ?org.hibernate.SessionFactory;
import ?org.hibernate.Transaction;
import ?org.hibernate.cfg.Configuration;


public ? class ?Test? ... {

????
/**?*/ /**
?????*?
@param ?args
?????
*/

????
public ? static ? void ?main(String[]?args)? ... {
????????Configuration?cfg
= new ?Configuration();
????????cfg.configure();
????????SessionFactory?sf
= cfg.buildSessionFactory();
????????Session?session
= sf.openSession();
????????Transaction?t
= session.beginTransaction();
????????Box?box1
= new ?Box();
????????box1.setName(
" 木箱子 " );
????????box1.setHeight(
50 );
????????box1.setLength(
50 );
????????box1.setWidth(
50 );
????????box1.setDescription(
" 包裝電視機(jī) " );
????????box1.setSize(
12500 );
????????
????????Bottle?bottle1
= new ?Bottle();
????????bottle1.setName(
" 玻璃瓶子 " );
????????bottle1.setDescription(
" 喝牛奶用 " );
????????bottle1.setSize(
139.12 );
????????bottle1.setDiameter(
6 );
????????bottle1.setHeight(
12 );
????????
????????sessio

Hibernate中抽象化主鍵使用教程


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 亚洲h视频 | 国产精品视频免费一区二区三区 | 国产片翁熄系列乱在线视频 | 国产在线视频自拍 | 看国产毛片 | 国产成人精品一区二区三区视频 | 成人午夜剧场 | 成人免费观看网欧美片 | 久久无码AV亚洲精品色午夜 | 男女激情动态视频 | 国产精品久久久久无码人妻精品 | 色洛色中文综合网站 | 在线激情视频 | 日日操日日干 | 人人干人人模 | 国产精品久久av | 99色综合 | 久草精彩视频 | 精品一区二区三区免费 | 日韩视频在线精品视频免费观看 | 亚洲国产欧美自拍 | 超碰激情 | 久草在线首页 | 午夜剧场在线免费观看 | 国产香蕉视频在线观看 | 一级黄色毛片子 | 欧美日韩中文字幕一区二区高清 | 97色伦网| 一级毛片大全 | 亚洲国产在 | 自拍亚洲一区 | 国产黄色三级 | 免费中文字幕 | 亚洲欧洲日本在线观看 | www.国产高清 | 国产小网站 | 欧美一级α片毛片免费观看 | 奇米影视色 | 四虎影视在线看免费 720p | 日本高清视频在线播放 | 114美女做爰视频在线 |