<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

    主站蜘蛛池模板: 亚洲欧洲中文日韩久久AV乱码 | 最近免费中文字幕大全| 黄桃AV无码免费一区二区三区| 日韩中文无码有码免费视频| 亚洲综合校园春色| 久久久久国色AV免费观看性色| 亚洲春色另类小说| 在线永久看片免费的视频| 国产精品视_精品国产免费| 一本色道久久88—综合亚洲精品| 又硬又粗又长又爽免费看| 亚洲精品无码激情AV| 一级做α爱过程免费视频| 区久久AAA片69亚洲| 97在线免费视频| 亚洲国产精品线在线观看| 色窝窝亚洲av网| 国产成人精品免费视频大全麻豆 | 一区二区三区AV高清免费波多| 国产一区二区三区免费看| 麻豆安全免费网址入口| 久久久久国产精品免费看| 亚洲最大成人网色| 黄色网址免费观看| 亚洲国产精品成人午夜在线观看 | 亚洲视频免费在线播放| 亚洲一区中文字幕在线电影网 | 野花视频在线官网免费1| 亚洲成A人片在线观看中文| 亚洲免费中文字幕| 在线a级毛片免费视频| WWW亚洲色大成网络.COM| 国产亚洲美女精品久久久| 6080午夜一级毛片免费看6080夜福利| 色噜噜亚洲男人的天堂| 免费a级黄色毛片| 免费精品99久久国产综合精品| 日本亚洲国产一区二区三区| 永久免费在线观看视频| 亚洲av日韩综合一区久热| 精品亚洲一区二区|