<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 閱讀(276) 評論(0)  編輯  收藏 所屬分類: Java

    主站蜘蛛池模板: 大片免费观看92在线视频线视频| 亚洲av乱码一区二区三区香蕉| 国产一区二区三区亚洲综合| 免费高清资源黄网站在线观看 | 亚洲av成人一区二区三区在线观看| 亚洲欧美日韩综合俺去了| 性一交一乱一视频免费看| 亚洲熟妇av午夜无码不卡| 性感美女视频在线观看免费精品 | 久久国产精品国产自线拍免费| 亚洲日本一区二区三区在线不卡| 黄页视频在线观看免费| 国产伦一区二区三区免费| 立即播放免费毛片一级| 国产99视频精品免费视频7| 亚洲AV永久无码精品网站在线观看| 成人毛片18女人毛片免费视频未 | 五月天婷婷免费视频| 国产亚洲精品自在线观看| 青青操在线免费观看| 日产亚洲一区二区三区| 在免费jizzjizz在线播| 亚洲另类无码专区首页| 亚洲av无码国产精品色在线看不卡| 国产免费福利体检区久久| 亚洲成人免费在线| 久久笫一福利免费导航| 国产AV无码专区亚洲AV蜜芽 | 日韩免费一区二区三区在线| 亚洲国产精品无码久久| 亚洲一区二区三区国产精品| 999久久久免费精品播放| tom影院亚洲国产一区二区| 国产a级特黄的片子视频免费| 在线人成免费视频69国产| 亚洲videos| 国产亚洲精品国产| 四虎免费在线观看| a毛片在线免费观看| 亚洲高清一区二区三区| 久久亚洲中文字幕精品一区四|