4、切换到MyEclipse Database 视图,通过Hibernate Reverse Engineering生成两张表的Pojo类和*.hbm.xml映射文件
5、对自动生成的Pojo类和*.hbm.xml映射文件进行适当的修改,修改后的文件如下:
1)Product.java
package com.lideedu.yame.tree.pojos;
public class Product implements java.io.Serializable {
private Integer productId;
private ProductCategory productCategory; private String productName; private Double productPrice;
public Product() { }
public Integer getProductId() { return this.productId; }
public void setProductId(Integer productId) { this.productId = productId;
}
public ProductCategory getProductCategory() { return this.productCategory; }
public void setProductCategory(ProductCategory productCategory) { this.productCategory = productCategory; }
public String getProductName() { return this.productName; }
public void setProductName(String productName) { this.productName = productName; }
public Double getProductPrice() { return this.productPrice; }
public void setProductPrice(Double productPrice) { this.productPrice = productPrice; } }
2)Product.hbm.xml
\>
class=\>
3)ProductCategory.java
package com.lideedu.yame.tree.pojos;
import java.util.HashSet; import java.util.Set;
@SuppressWarnings(\)
public class ProductCategory implements java.io.Serializable { private Integer categoryId; private String categoryName;
private ProductCategory parentCategory; private Set subCategories = new HashSet(0); private Set products = new HashSet(0); public Set getProducts() { return products;
}
public void setProducts(Set products) { this.products = products; }
public ProductCategory() { }
public Integer getCategoryId() { return this.categoryId; }
public void setCategoryId(Integer categoryId) { this.categoryId = categoryId; }
public String getCategoryName() { return this.categoryName; }
public void setCategoryName(String categoryName) { this.categoryName = categoryName; }
public ProductCategory getParentCategory() { return parentCategory;
}
public void setParentCategory(ProductCategory parentCategory) { this.parentCategory = parentCategory; }
public Set getSubCategories() {
return subCategories;
}
}
public void setSubCategories(Set subCategories) { }
this.subCategories = subCategories;
4)ProductCategory.hbm.xml
\>
class=\ cascade=\>
class=\/> 6、编写DAO 1) ProductDAO package com.lideedu.yame.tree.dao; import java.util.List; import org.hibernate.Session; import org.hibernate.Transaction; import com.lideedu.yame.tree.db.HibernateSessionFactory; import com.lideedu.yame.tree.pojos.Product; public class ProductDAO { private Session session= null; private Transaction tx = null; public void save(Product product){ } public List queryAll(){ } public List queryByProductId(int productId){ List list = null; try { session = HibernateSessionFactory.getSession(); list = session.createQuery(\try { session = HibernateSessionFactory.getSession(); tx = session.beginTransaction(); session.save(product); tx.commit(); e.printStackTrace(); if(tx != null) tx.rollback(); } catch (Exception e) { }finally{ HibernateSessionFactory.closeSession(); tx = null; } p.productCategory\).list(); } catch (Exception e) { } return list; e.printStackTrace(); HibernateSessionFactory.closeSession(); }finally{