<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    duansky'weblog

    統計

    留言簿(3)

    友情鏈接

    閱讀排行榜

    評論排行榜

    Hibernate annotation 使用筆記

    ?1 @Entity????????????????????????? -- 聲明為一個實體bean???
    ?2 @Table(name = " promotion_info " )??? -- 為實體bean映射指定表(表名 = " promotion_info)???
    ?3 @Id????????????????????????????? -- 聲明了該實體bean的標識屬性???
    ?4 @GeneratedValue????????????????? -- 可以定義標識字段的生成策略.???
    ?5 @Transient?????????????????????? -- 將忽略這些字段和屬性,不用持久化到數據庫???
    ?6 @Column(name = " promotion_remark " ) -- 聲明列(字段名 = " promotion_total " )?屬性還包括(length = 200等)???
    ?7 @Temporal(TemporalType.TIMESTAMP) -- 聲明時間格式???
    ?8 @Enumerated????????????????????? -- 聲明枚舉???
    ?9 @Version???????????????????????? -- 聲明添加對樂觀鎖定的支持???
    10 @OneToOne??????????????????????? -- 可以建立實體bean之間的一對一的關聯???
    11 @OneToMany?????????????????????? -- 可以建立實體bean之間的一對多的關聯???
    12 @ManyToOne?????????????????????? -- 可以建立實體bean之間的多對一的關聯???
    13 @ManyToMany????????????????????? -- 可以建立實體bean之間的多對多的關聯???
    14 @Formula???????????????????????? -- 一個SQL表達式,這種屬性是只讀的,不在數據庫生成屬性(可以使用sum、average、max等)???
    15 @OrderBy???????????????????????? -- Many端某個字段排序(List)??
    16

    以上是基本常用注解,下面是例子說明

    ??1@Entity??
    ??2@Table(name="promotion_info")???
    ??3public?class?Promotion?implements?Serializable?{???
    ??4??
    ??5????//AUTO--可以是identity類型的字段,或者sequence類型或者table類型,取決于不同的底層數據庫???
    ??6????@Id????
    ??7????@GeneratedValue(strategy?=?GenerationType.AUTO)???
    ??8????//對于oracle想使用各自的Sequence:???
    ??9????//@GeneratedValue(strategy?=?GenerationType.AUTO,generator="PROMOTION_SEQ")???
    ?10????//@SequenceGenerator(name="PROMOTION_SEQ",sequenceName="PROMOTION_SEQ")???
    ?11????private?Long?id;???
    ?12??
    ?13????@Column(name="group_start_amount")???
    ?14????private?Integer?groupStartAmount=0;???
    ?15???????
    ?16????@Column(name="promotion_remark",length=200)???
    ?17????//@Lob?如果是文章內容可以使用?只需要把length=200去掉就可以了???
    ?18????private?String?remark;???
    ?19????//DATE??????-?java.sql.Date???
    ?20????//TIME??????-?java.sql.Time???
    ?21????//TIMESTAMP?-?java.sql.Timestamp???
    ?22????@Temporal(TemporalType.TIMESTAMP)???
    ?23????@Column(name="start_time")???
    ?24????private?Date?startTime;???
    ?25??
    ?26????//顯示0?隱藏1???
    ?27????public?static?enum?DisplayType?{???
    ?28????????顯示,隱藏???
    ?29????}
    ???
    ?30????@Enumerated(value?=?EnumType.ORDINAL)//ORDINAL序數???
    ?31????private?DisplayType?displayType?=?DisplayType.顯示;???
    ?32??
    ?33????@Version??
    ?34????private?Integer?version;???
    ?35??
    ?36????//CascadeType.PERSIST???--?觸發級聯創建(create)???
    ?37????//CascadeType.MERGE?????--?觸發級聯合并(update)???
    ?38????//FetchType.LAZY????????--?延遲加載???
    ?39????@ManyToOne(cascade?=?{CascadeType.PERSIST,CascadeType.MERGE},fetch?=?FetchType.LAZY)???
    ?40????private?PromotionGroup?promotionGroup;???
    ?41??
    ?42????//單向ManyToMany???
    ?43????//@JoinTable(關聯的表名)???
    ?44????//joinColumns?--?promotion關聯的列的外鍵???
    ?45????//inverseJoinColumns?--?largess?關聯列的外鍵???
    ?46????@ManyToMany(cascade?=?{CascadeType.PERSIST,CascadeType.MERGE})???
    ?47????@JoinTable(name="promotion_largess",joinColumns={@JoinColumn(name="promotion_id")},inverseJoinColumns={@JoinColumn(name="largess_id")})???
    ?48????private?Set<Largess>?largess;????
    ?49???????
    ?50????@OneToMany(mappedBy="promotion",cascade?=?CascadeType.ALL)???
    ?51????@OrderBy("quantity?asc")//item中的列表會根據quantity排序???
    ?52????private?List<PromotionItem>?promotionItem;???
    ?53??
    ?54????//get?set?省略.???
    ?55????@Transient??
    ?56????private?Long?hashcodeValue?=?null;???
    ?57????public?synchronized?int?hashCode()?{???
    ?58????????if(hashcodeValue?=?null)?{???
    ?59????????????if(id?==?null)???
    ?60????????????????hashcodeValue?=?new?Long(super.hashCode());???
    ?61????????????else??
    ?62????????????????hashcodeValue?=?id;???
    ?63????????}
    ???
    ?64????????return?hashcodeValue.intValue();???
    ?65????}
    ???
    ?66??
    ?67????public?boolean?equals(Object?obj)?{???
    ?68????????Promotion?other?=?(Promotion)?obj;???
    ?69????????if(this?==?other)???
    ?70????????????return?true;???
    ?71????????if(this.id?==?null?||?other.id?==?null)???
    ?72????????????return?false;???
    ?73????????return?this.id.equals(other.id);???
    ?74????}
    ???
    ?75??
    ?76}
    ???
    ?77@Entity??
    ?78@Table(name="promotion_group")???
    ?79public?class?PromotionGroup?implements?Serializable?{???
    ?80????@Id????
    ?81????@GeneratedValue(strategy?=?GenerationType.AUTO)???
    ?82????private?Long?id;???
    ?83???????
    ?84????//mappedBy的值"promotionGroup"指向owner(Promotion)端的關聯屬性,并且是雙向關系???
    ?85????@OneToMany(mappedBy="promotionGroup",cascade=CascadeType.ALL)???
    ?86????private?List<Promotion>?promotion;???
    ?87??
    ?88????//get?set?省略.???
    ?89}
    ???
    ?90@Entity??
    ?91@Table(name="largess")???
    ?92public?class?Largess?implements?Serializable?{???
    ?93????@Id????
    ?94????@GeneratedValue(strategy?=?GenerationType.AUTO)???
    ?95????private?Long?id;???
    ?96??
    ?97????//1.sql語句中的字段和表名都應該和數據庫相應,而不是類中的字段,???
    ?98????//若帶有參數如la.id=?id,這個=id才是類中屬性???
    ?99????//2.操作字段一定要用別名???
    100????@Formula(select?max(la.id)?from?largess?as?la)???
    101????private?int?maxId;???
    102??
    103????@Formula(select?COUNT(la.id)?from?largess?la)???
    104????private?int?count;???
    105??
    106????@Transient??
    107????private?String?img???
    108??
    109????//get?set?省略.???
    110}
    ??
    111

    posted on 2010-08-18 17:32 duansky 閱讀(275) 評論(0)  編輯  收藏 所屬分類: Java

    主站蜘蛛池模板: 男男gay做爽爽免费视频| 亚洲理论片在线中文字幕| 色屁屁在线观看视频免费| 日本免费一区二区三区最新vr| 亚洲人成未满十八禁网站| 午夜色a大片在线观看免费| 亚洲中文无码卡通动漫野外| 成人午夜免费福利| 国产精品亚洲一区二区无码| 亚洲精品黄色视频在线观看免费资源| 偷自拍亚洲视频在线观看| 亚洲国产成人精品久久久国产成人一区二区三区综 | 一个人免费观看视频www | 高h视频在线免费观看| 亚洲精品国产自在久久| 免费人成在线观看网站| 亚洲美女激情视频| 成熟女人特级毛片www免费| 亚洲av无码一区二区三区天堂| 日本中文一区二区三区亚洲| 国产99视频精品免费视频76| 久久亚洲AV无码精品色午夜麻| 日本免费网站视频www区| 亚洲国产成人久久精品软件| 亚洲乱码国产一区网址| 精品在线免费观看| 亚洲久悠悠色悠在线播放| 亚洲av无码乱码在线观看野外| 国产精品午夜免费观看网站| 久久久久亚洲AV无码麻豆| 妞干网免费观看视频| 成人无码视频97免费| 亚洲人成电影在线观看网| 国产麻豆免费观看91| 十八禁视频在线观看免费无码无遮挡骂过 | 亚洲av永久无码一区二区三区| 国产精品亚洲а∨无码播放| 中字幕视频在线永久在线观看免费 | 亚洲成A人片在线观看无码3D| 久久久久国产精品免费免费不卡| 亚洲综合在线一区二区三区 |