标签:category p2 Product inverse 文件属性 cascade p1 session new
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.sasa.domain"> <class name="Category" table="category"> <id name="id" column="id"> <generator class="native"></generator> </id> <property name="c_name"></property> <property name="descr"></property> <property name="create_tm"></property> <!-- name属性:集合属性名 column属性: 外键列名 class属性: 与我关联的对象完整类名 --> <!-- 级联操作: cascade save-update: 级联保存更新 delete:级联删除 all:save-update+delete 级联操作: 简化操作.目的就是为了少些两行代码. --> <!-- inverse属性: 配置关系是否维护. true: customer不维护关系 false(默认值): customer维护关系 inverse属性: 性能优化.提高关系维护的性能. 原则: 无论怎么放弃,总有一方必须要维护关系. 一对多关系中: 一的一方放弃.也只能一的一方放弃.多的一方不能放弃. --> <set name="products" cascade="save-update" inverse="true"> <key column="category_id"></key> <one-to-many class="Product"/> </set> </class> </hibernate-mapping>
@Test //新增类别和产品 public void addCategorysCascade(){ Session session = HibernateUtils.getCurrentSession(); Transaction tran = session.beginTransaction(); //======================================== Category category = new Category(); category.setC_name("电子产品"); category.setDescr("电子产品1"); Product p1 = new Product(); p1.setPname("手机"); p1.setPrice(100.00); Product p2 = new Product(); p2.setPname("电子手表"); p2.setPrice(90.00); //一对多 category.getProducts().add(p1); category.getProducts().add(p2); //多对一 p1.setCategory(category); p2.setCategory(category); session.save(category); //========================================== tran.commit(); session.close(); }
标签:category,p2,Product,inverse,文件属性,cascade,p1,session,new 来源: https://www.cnblogs.com/SasaL/p/11671077.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。