生活随笔
收集整理的這篇文章主要介紹了
Hibernate4一对多关系映射
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
示例:一個類別(Category)下面有多個商品(Product),多個商品對應(yīng)對應(yīng)同一類別
?
Java代碼 ?
public?class?Category?{???????????private?Integer?id;??????private?String?name;??????private?Set<Product>?products?=?new?HashSet<Product>();??????????}?????
?
Java代碼 ?
public?class?Product?{????????private?Integer?id;??????private?String?name;??????private?Double?price;??????private?Category?category;??????????????}??
用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;????????????????@OneToMany(mappedBy?=?"category")??????private?Set<Product>?products?=?new?HashSet<Product>();??????????}?????
?
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;??????????}?????
?測試代碼
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??????????(?,??,??)????
總結(jié)
以上是生活随笔為你收集整理的Hibernate4一对多关系映射的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。