Hibernate初学之一对多、多对一关系模型
举例订单与客户多对一关系模型:· 首先是导包;这个省略不写了,· 其次写domain类分为Client Order两个类,因为是多对一的关系,所以外键应该放在Order这个类里;配置文件:hibernate.cfg.xml[java]<hibernate-configuration><session-factory name="foo"><property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><property name="connection.url">jdbc:mysql:///test</property><property name="connection.username">root</property><property name="connection.password">root</property><property name="dialect">org.hibernate.dialect.MySQLDialect</property><property name="show_sql">true</property><property name="hbm2ddl.auto">update</property><mapping resource="com/hbsi/domain/Client.hbm.xml"/><mapping resource="com/hbsi/domain/Order.hbm.xml"/></session-factory></hibernate-configuration>定义一个Client的变量;·然后写配置文件,Client.hbm.xml<hibernate-mapping package=”com.hbsi.domain”><class name=”Client” table=”client”>//类名和表名<id name=”id” column=”id”>//变量和字段<generator class= ”native” />//根据数据库里的设置自定义</id><property name=”name” /></class></hibernate -mapping>Order.hbm.xml<hibernate-mapping><class name=”Order” table=”ordershop”><id name=”id”><generator class=”native” /></id><property name=”shopname” column=”shopname” /><property name=”number” column=”number”/><property name = “price” column=”price” /><many-to-one name=”client” column=”client_id” /><class></hibernate-mapping>配置文件这样就写完了,接下来就是添加查找;Session session=null;@Testpublic void add(Client client,Order order){try{session = HibernateUtil.getSession();//获取工具类session.beginTransaction();//开启事务/*Client client = new Client();client.setName("刘总");Order order1 = new Order();order1.setShopname("航空母舰");order1.setNumber(2);order1.setPrice(22);order1.setCt(client);Order order2 = new Order();order2.setShopname("航空母舰");order2.setNumber(2);order2.setPrice(22);order2.setCt(client);*/session.save(client);session.save(order);session.beginTransaction().commit();}finally{if(session!=null){session.close();}}}public void find(int id){try{session = HibernateUtil.getSession();session.beginTransaction();Order order = (Order) session.get(Order.class, id);System.out.println(order.getCt().getName());session.beginTransaction().commit();}finally{if(session!=null){session.close();}}&nb补充:软件开发 , Java ,
上一个:Caused by: java.lang.IllegalArgumentException: Original must not be null
下一个:java语言基础之构造函数深入以及构造函数和构造代码块比较
- 更多JAVA疑问解答:
- java怎么在线读取ftp服务器上的文件内容
- 关于程序员的职业规划
- HTML和JSP矛盾吗?
- java小程序如何打包?
- java怎么split路径文件名?
- 关于Hibernate实体自身多对一的抓取问题
- 关于apache2+tomcat群集出现的问题
- SSH 导入导出excel 谁有这块的资料吗?
- springmvc 加载一个jsp页面执行多个方法 报404
- 关于用jquery 导入 excel
- java对时间进行循环放到List中
- 一个图片的输入输出程序,第一次调用某方法会中断,第二次调用则正常
- 请上过传智播客的人说一下传智播客怎么样呀!是不是像它说的那样好呀!
- spring的schema怎么配置
- 【菜鸟求助】SSH中怎么从JSP页面往后台传值呢