hibernate学习2之many-to-one
来源:互联网 发布:李米的猜想知乎 编辑:程序博客网 时间:2024/06/06 04:05
public class Group {private int id;private String name;//setter,getter}
public class User {private int id;private String name;private Group group;//多个用户对应一个组 //setter,getter}
Group.hbm.xml:
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping><class name="com.bjsxt.hibernate.Group" table="t_group"><id name="id"><generator class="native"/></id><property name="name"/></class></hibernate-mapping>
User.hbm.xml:
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping><class name="com.bjsxt.hibernate.User" table="t_user"><id name="id"><generator class="native"/></id><property name="name"/><many-to-one name="group" column="groupid" cascade="all"/></class></hibernate-mapping>
hibernate.cfg.xml
<!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory><property name="hibernate.connection.url">jdbc:mysql://localhost/hibernate_many2one</property><property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><property name="hibernate.connection.username">root</property><property name="hibernate.connection.password">bjsxt</property><property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property><property name="hibernate.show_sql">true</property><mapping resource="com/bjsxt/hibernate/User.hbm.xml"/><mapping resource="com/bjsxt/hibernate/Group.hbm.xml"/></session-factory></hibernate-configuration>
测试一下:
public void testSave() {Session session = null;try {session = HibernateUtils.getSession();session.beginTransaction();Group group = new Group();group.setName("尚学堂");User user1 = new User();user1.setName("菜10");user1.setGroup(group);User user2 = new User();user2.setName("容祖儿");user2.setGroup(group);//不会抛出异常,因为User.hbm.xml中采用了cascade(级联)属性,它会在保存User前先保存Group(这样就用不着显式的调用session.save(group);)//采用cascade属性是解决TransientObjectException异常的一种手段session.save(user1);session.save(user2);session.getTransaction().commit();}catch(Exception e) {e.printStackTrace();session.getTransaction().rollback();}finally {HibernateUtils.closeSession(session);}}
0 0
- hibernate学习2之many-to-one
- Hibernate之one-to-many
- hibernate学习5之one-to-many双向关联
- hibernate学习5之one-to-many双向关联
- 码农小汪-Hibernate学习4-关联关系映射many-to-one,many-to-one,one-to-many
- javaee之hibernate之many-to-one
- javaee之hibernate(one-to-many)
- hibernate many-to-one // one-to-many
- hibernate many-to-one
- hibernate one to many
- Hibernate one-to-many
- hibernate:many to one
- hibernate--one-to-many
- hibernate 单向many-to-one association (2)
- Hibernate Mapping 2 : One to Many
- Hibernate学习笔记(3)Hibernate映射文件之set key one-to-many
- Hibernate中的one-to-many
- Hibernate的one-to-many
- 如何安装配置你的Tomcat5并绑定域名
- 不同机型中使用j2me调出拨号和发短消息
- verilog中有符号与无符号变量区别
- ASP.Net Ajax框架 和ScriptMnager控件 调用Web Service
- hibernate学习1之基础工具
- hibernate学习2之many-to-one
- 正则表达式的懒惰匹配和前瞻等
- hibernate学习3之one-to-one单向外键关联
- hibernate学习4之one-to-many单向关联(不推荐)
- 本地/局域网 运行showRunApi
- MacOS下homebrew方式安装Apache24、php7、Mysql
- 对ArrayList进行排序的两种方式
- train data 和 model bias 对 Mutilayer Perceptrons 的影响
- hibernate学习5之one-to-many双向关联