日積月累
大衛的技術筆記
BlogJava
首頁
新隨筆
聯系
聚合
管理
隨筆 - 55 文章 - 187 trackbacks - 0
<
2009年2月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1
2
3
4
5
6
7
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(12)
給我留言
查看公開留言
查看私人留言
隨筆分類
Java(37)
JavaScript(6)
Linux(3)
web(4)
我的代碼(2)
數據庫(1)
經驗(6)
設計(1)
隨筆檔案
2009年11月 (3)
2009年9月 (2)
2009年2月 (2)
2008年10月 (1)
2008年9月 (4)
2008年8月 (1)
2008年7月 (1)
2008年6月 (4)
2008年5月 (3)
2008年3月 (5)
2008年2月 (8)
2008年1月 (15)
groovy
搜索
最新評論
1.?re: Struts2 + jQuery 實現ajax[未登錄]
@cc
1
--1
2.?re: 采用單例模式還是靜態方法?
@rocket
spring一般用的就是單例模式去加載。不一定是最好,只是為了方便那些不善于管理類加載的人進行大規模協作
--老學生
3.?re: 采用單例模式還是靜態方法?
評論內容較長,點擊標題查看
--老學生
4.?re: 通過反射獲取方法的參數和返回值的泛型信息
你自己試過沒,方法返回值的泛型是無法獲取的,只能獲取通用類型也就是 的泛型的定義, 別在那誤導人,垃圾
--博主SB
5.?re: 如何在三個月掌握三年的經驗(轉載&&筆記)
學到不少,謝謝分享!
--llwj
閱讀排行榜
1.?數據庫設計5步驟(收藏)(88671)
2.?Struts2 + jQuery 實現ajax(41974)
3.?如何在三個月掌握三年的經驗(轉載&&筆記)(20404)
4.?采用單例模式還是靜態方法?(20183)
5.?mysql編碼轉換搞定(8983)
評論排行榜
1.?數據庫設計5步驟(收藏)(48)
2.?一個計算機專業學生幾年的編程經驗匯總(收藏)(17)
3.?Struts2 + jQuery 實現ajax(17)
4.?對一個算法筆試題的注解(12)
5.?采用單例模式還是靜態方法?(11)
hibernate(jpa)復合主鍵annotation聲明方法
在設計數據庫表的時候,往往會設計出帶有復合主鍵的表,即表的記錄由多個字段聯合標識,如:
表
CREATE TABLE TB_HOUR_DATA
(
STAT_DATE DATE NOT NULL,
PATH_ID NUMBER(
20
) NOT NULL,
VALUE VARCHAR2(
512
BYTE),
TYPE NUMBER(
1
) NOT NULL
)
其中,復合主鍵為(STAT_DATE,PATH_ID,TYPE)
針對這種情況,hibernate(jpa) 的 annotation 映射聲明如下:
1、復合主鍵類HourDataPK
package
net.kong.wolf.stat.db.entity;
import
java.io.Serializable;
import
java.util.Date;
import
javax.persistence.Column;
import
javax.persistence.Embeddable;
import
javax.persistence.JoinColumn;
import
javax.persistence.ManyToOne;
import
javax.persistence.Temporal;
import
javax.persistence.TemporalType;
@Embeddable
public
class
HourDataPK
implements
Serializable
{
/** */
/**
*
*/
private
static
final
long
serialVersionUID
=
1L
;
@ManyToOne
@JoinColumn(name
=
"
path_id
"
, nullable
=
false
)
private
Path path;
@Column(name
=
"
stat_date
"
)
@Temporal(TemporalType.DATE)
private
Date statDate;
private
int
type;
public
Path getPath()
{
return
path;
}
public
void
setPath(Path path)
{
this
.path
=
path;
}
public
Date getStatDate()
{
return
statDate;
}
public
void
setStatDate(Date statDate)
{
this
.statDate
=
statDate;
}
public
int
getType()
{
return
type;
}
public
void
setType(
int
type)
{
this
.type
=
type;
}
}
2、實體類HourData:
package
net.kong.wolf.stat.db.entity;
import
java.io.Serializable;
import
javax.persistence.EmbeddedId;
import
javax.persistence.Entity;
import
javax.persistence.Table;
import
net.kong.wolf.stat.core.Text;
@Entity
@Table(name
=
"
TB_HOUR_DATA
"
)
public
class
HourData
implements
Serializable
{
/** */
/**
*
*/
private
static
final
long
serialVersionUID
=
1L
;
@EmbeddedId
private
HourDataPK pk;
private
String value;
public
String getValue()
{
return
value;
}
public
void
setValue(String value)
{
this
.value
=
value;
}
public
int
[] getHours()
{
return
parseValue(value);
}
private
int
[] parseValue(String value)
{
int
[] result
=
new
int
[
24
];
for
(
int
i
=
0
; i
<
24
; i
++
)
{
result[i]
=
-
1
;
}
if
(value
==
null
)
{
return
result;
}
String[] hs
=
Text.splitCSV(value);
int
len
=
Math.min(
24
, hs.length);
for
(
int
i
=
0
; i
<
len; i
++
)
{
result[i]
=
Text.parseInt(hs[i],
-
1
);
}
return
result;
}
public
void
setHours(
int
[] hours)
{
int
[] tHours
=
parseValue(value);
StringBuilder sb
=
new
StringBuilder();
int
len
=
Math.min(
24
, hours.length);
for
(
int
i
=
0
; i
<
len; i
++
)
{
sb.append(hours[i]
<
0
?
tHours[i] : hours[i]).append(
'
,
'
);
}
sb.deleteCharAt(sb.length()
-
1
);
this
.value
=
sb.toString();
}
public
HourDataPK getPk()
{
return
pk;
}
public
void
setPk(HourDataPK pk)
{
this
.pk
=
pk;
}
}
posted on 2009-02-25 14:10
大衛
閱讀(3015)
評論(2)
編輯
收藏
所屬分類:
Java
FeedBack:
#
re: hibernate(jpa)復合主鍵annotation聲明方法 2009-02-26 10:07
Mr.wang
學習
回復
更多評論
#
re: hibernate(jpa)復合主鍵annotation聲明方法
2009-03-03 13:19
相似
有夠爛
回復
更多評論
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
myAndroid(Struts2+Sitemesh+Freemarker)
我的web.xml(freemarker+stripes+spring)
解決FreeMarker中文亂碼問題
防御性編程應該適可而止
關于類的劃分的一點點感悟
hibernate(jpa)中annotation配置非自增字段為主鍵
hibernate(jpa)復合主鍵annotation聲明方法
判斷是否含有GBK以外的字符
Struts2 + jQuery 實現ajax
命令行junit
Copyright ©2025 大衛 Powered by:
博客園
模板提供:
滬江博客
主站蜘蛛池模板:
好男人视频在线观看免费看片
|
免费国产不卡午夜福在线
|
亚洲日本天堂在线
|
国内精品99亚洲免费高清
|
91精品国产免费入口
|
国产精品亚洲一区二区三区在线观看
|
亚洲欧洲∨国产一区二区三区
|
无码国产精品一区二区免费式直播
|
免费看一级一级人妻片
|
久久久亚洲欧洲日产国码是AV
|
日本19禁啪啪无遮挡免费动图
|
最近免费中文字幕中文高清
|
亚洲精品GV天堂无码男同
|
国产亚洲一区二区手机在线观看
|
成熟女人特级毛片www免费
|
免费成人在线电影
|
美女被免费网站视频在线
|
亚洲精品福利在线观看
|
亚洲女同成人AⅤ人片在线观看
|
无码国产精品一区二区免费式影视
|
久久午夜无码免费
|
精品亚洲国产成人av
|
亚洲毛片免费视频
|
亚洲熟妇无码另类久久久
|
精品免费久久久久久成人影院
|
鲁大师在线影院免费观看
|
EEUSS影院WWW在线观看免费
|
亚洲欧美国产国产一区二区三区
|
亚洲AV乱码一区二区三区林ゆな
|
亚洲成av人在片观看
|
麻豆国产人免费人成免费视频
|
91在线手机精品免费观看
|
中国好声音第二季免费播放
|
疯狂做受xxxx高潮视频免费
|
学生妹亚洲一区二区
|
亚洲第一页在线观看
|
亚洲国产成人精品不卡青青草原
|
亚洲精品tv久久久久久久久久
|
日本牲交大片免费观看
|
成年女人毛片免费播放视频m
|
午夜免费1000部
|