日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hibernate4一对多关系映射

發布時間:2025/6/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hibernate4一对多关系映射 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

示例:一個類別(Category)下面有多個商品(Product),多個商品對應對應同一類別

?

Java代碼 ?
  • public?class?Category?{??
  • ??
  • ???????private?Integer?id;??
  • ????private?String?name;??
  • ????private?Set<Product>?products?=?new?HashSet<Product>();??
  • ??
  • ????//?getter?and?setter??
  • }?????
  • ?

    Java代碼 ?
  • public?class?Product?{??
  • ??
  • ????private?Integer?id;??
  • ????private?String?name;??
  • ????private?Double?price;??
  • ????private?Category?category;??
  • ??????
  • ????//?getter?and?setter??
  • }??
  • 用XML映射

    Xml代碼 ?
  • <hibernate-mapping?package="org.monday.hibernate4.domain">??
  • ????<class?name="Category"?table="tbl_category">??
  • ????????<id?name="id">??
  • ????????????<generator?class="identity"?/>??
  • ????????</id>??
  • ????????<property?name="name"?/>??
  • ????????<set?name="products"?inverse="true">??
  • ????????????<key?column="category_id"?/>??
  • ????????????<one-to-many?class="Product"?/>??
  • ????????</set>??
  • ????</class>??
  • </hibernate-mapping>??
  • ?

    Xml代碼 ?
  • <hibernate-mapping?package="org.monday.hibernate4.domain">??
  • ????<class?name="Product"?table="tbl_product">??
  • ????????<id?name="id">??
  • ????????????<generator?class="identity"?/>??
  • ????????</id>??
  • ????????<property?name="name"?/>??
  • ????????<property?name="price"?/>??
  • ????????<many-to-one?name="category"?class="Category"???
  • ????????????column="category_id"?not-null="true"/>??
  • ????</class>??
  • </hibernate-mapping>??
  • ?用@Annotation映射

    Java代碼 ?
  • @Entity??
  • @Table(name?=?"tbl_category")??
  • public?class?Category?{??
  • ??
  • ????@Id??
  • ????@GeneratedValue(strategy?=?GenerationType.IDENTITY)??
  • ????private?Integer?id;??
  • ????private?String?name;??
  • ????????//?使用泛型的話,targetEntity可以不制定??
  • ????@OneToMany(mappedBy?=?"category")??
  • ????private?Set<Product>?products?=?new?HashSet<Product>();??
  • ??
  • ????//?getter?and?setter??????
  • }?????
  • ?

    Java代碼 ?
  • @Entity??
  • @Table(name?=?"tbl_product")??
  • public?class?Product?{??
  • ??
  • ????@Id??
  • ????@GeneratedValue(strategy?=?GenerationType.IDENTITY)??
  • ????private?Integer?id;??
  • ????private?String?name;??
  • ????private?Double?price;??
  • ??
  • ????@ManyToOne??
  • ????@JoinColumn(name?=?"category_id",?nullable?=?false)??
  • ????private?Category?category;??
  • ??
  • ????//?getter?and?setter??????
  • }?????
  • ?測試代碼

    Java代碼 ?
  • Product?p?=?new?Product();??
  • p.setName("hibernate");??
  • p.setPrice(99.9);??
  • ??
  • Category?c?=?new?Category();??
  • c.setName("book");??
  • c.getProducts().add(p);??
  • ??
  • p.setCategory(c);??
  • ??
  • session.save(c);?//?先插入一的一方??
  • session.save(p);??
  • ? SQL schema

    Sql代碼 ?
  • Hibernate:???
  • ????create?table?tbl_category?(??
  • ????????id?integer?not?null?auto_increment,??
  • ????????name?varchar(255),??
  • ????????primary?key?(id)??
  • ????)??
  • Hibernate:???
  • ????create?table?tbl_product?(??
  • ????????id?integer?not?null?auto_increment,??
  • ????????name?varchar(255),??
  • ????????price?double?precision,??
  • ????????category_id?integer,??
  • ????????primary?key?(id)??
  • ????)??
  • Hibernate:???
  • ????alter?table?tbl_product???
  • ????????add?index?FK2BA956E5535EE4C?(category_id),???
  • ????????add?constraint?FK2BA956E5535EE4C???
  • ????????foreign?key?(category_id)???
  • ????????references?tbl_category?(id)??
  • Hibernate:???
  • ????insert???
  • ????into??
  • ????????tbl_category??
  • ????????(name)???
  • ????values??
  • ????????(?)??
  • Hibernate:???
  • ????insert???
  • ????into??
  • ????????tbl_product??
  • ????????(name,?price,?category_id)???
  • ????values??
  • ????????(?,??,??)??
  • ??
  • 總結

    以上是生活随笔為你收集整理的Hibernate4一对多关系映射的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。