﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-panda-随笔分类-hibernate</title><link>http://www.blogjava.net/csssoft/category/40664.html</link><description>IT高薪不是梦!!</description><language>zh-cn</language><lastBuildDate>Mon, 12 Oct 2009 10:19:12 GMT</lastBuildDate><pubDate>Mon, 12 Oct 2009 10:19:12 GMT</pubDate><ttl>60</ttl><item><title>Hibernate的多对一关联映射</title><link>http://www.blogjava.net/csssoft/archive/2009/10/12/297945.html</link><dc:creator>IT追求者</dc:creator><author>IT追求者</author><pubDate>Mon, 12 Oct 2009 09:56:00 GMT</pubDate><guid>http://www.blogjava.net/csssoft/archive/2009/10/12/297945.html</guid><wfw:comment>http://www.blogjava.net/csssoft/comments/297945.html</wfw:comment><comments>http://www.blogjava.net/csssoft/archive/2009/10/12/297945.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/csssoft/comments/commentRss/297945.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/csssoft/services/trackbacks/297945.html</trackback:ping><description><![CDATA[
		<p>
				<font color="#ff0066">1.<font size="2">关联映射的本质：就是将关联关系映射到数据库中，关联关系指对象模型中的一个或多个引用.<br /><br />2.下面列举多对一的示例：用户和组(多个用户属于一个组)多对一关联映射是最常用的一种关联映射<br /><br />  <font color="#000000"> *User 类<br />   package com.lzy<br /></font><font color="#9acd32">  </font><font size="3"><font color="#9acd32"> public class User{<br /><br />   private int id;<br />   private String name;<br /><br />  <font color="#ff0000">private Group group;//持有组的引用</font><br />   <br />   public User(){};<br /><br />   //省略set,get方法<br /> }</font><br /><br />  <font color="#000000">*Group类<br /> package com.lzy<br /></font><font color="#a52a2a"> public class Group{<br />  <br />   private int id;<br /><br />   private String name;<br />   //省略get,set方法<br /></font></font><font color="#a52a2a"> }<br /><br />3.对对象进行关系映射，这也是Hibernate中比较难的一点。<br />  (1)User.hbm.xml<br />      <br />      &lt;?xml version="1.0"&gt;<br />      &lt;!DOCTYPE hibernate-mapping PUBLIC  "-//Hibernate/Hibernate Mapping DTD 3.0//EN" <a href="http://hibernate.sourceforge.net/hibernate-mapping-3.0">http://hibernate.sourceforge.net/hibernate-mapping-3.0</a><br />.dtd"&gt;<br />     &lt;hibernate-mapping package="com.lzy"&gt;<br />         &lt;class name="User" table="t_user"&gt;<br />               &lt;id name="id" column="id"&gt;<br />                     &lt;genarator class="native"/&gt;<br />              &lt;/id&gt;<br />            &lt;property name="name" column="user_name" not-null="true"/&gt;<br />       <font style="BACKGROUND-COLOR: #0000ff" size="3">     &lt;many-to-one name="group" column="groupid"/&gt;</font><br />        &lt;/calss&gt;<br />     &lt;/hibernate-mapping&gt;<br /><br /><br />   (2)Group.hbm.xml<br />         <br />      &lt;?xml version="1.0"&gt;<br />      &lt;!DOCTYPE hibernate-mapping PUBLIC  "-//Hibernate/Hibernate Mapping DTD 3.0//EN" <a href="http://hibernate.sourceforge.net/hibernate-mapping-3.0">http://hibernate.sourceforge.net/hibernate-mapping-3.0</a><br />.dtd"&gt;<br />     &lt;hibernate-mapping package="com.lzy"&gt;<br />         &lt;class name="Group" table="t_group"&gt;<br />               &lt;id name="id" column="id"&gt;<br />                     &lt;genarator class="native"/&gt;<br />              &lt;/id&gt;<br />            &lt;property name="name" column="group_name" not-null="true"/&gt;<br />      &lt;/class&gt;<br />   &lt;/hibernate-mapping&gt;<br /><br />4.测试<br /><br />public class  Test {<br />   <br />  public static void main(String args[]){<br /><br />      SessionFactory  sessionFactory=null;<br />      Session  session=null;<br />      Transaction   transaction=null;<br />      <br />      sessionFactory = HibernateUtil.getSessionFactory();// 创建一个会话工厂<br />      session = sessionFactory.openSession();// 创建一个会话实例<br />      transaction = session.beginTransaction();// 申明一个事务</font></font></font>
		</p>
		<p>
				<font color="#ff0066">
						<font size="2">
								<font color="#a52a2a">  User user= new User();<br />  Group group = new Group();</font>
						</font>
				</font>
		</p>
		<p>
				<font color="#ff0066">
						<font size="2">
								<font color="#a52a2a">  user.setName("龙一");</font>
						</font>
				</font>
		</p>
		<p>
				<font color="#ff0066">
						<font size="2">
								<font color="#a52a2a">  group.setName("中南大学");<br />  user.setGroup(group);</font>
						</font>
				</font>
		</p>
		<p>
				<font color="#ff0066">
						<font size="2">
								<font color="#a52a2a">  try {</font>
						</font>
				</font>
		</p>
		<p>
				<font color="#ff0066">
						<font size="2">
								<font color="#a52a2a">   transaction.begin();<br />   session.save(user);<br />   transaction.commit();</font>
						</font>
				</font>
		</p>
		<p>
				<font color="#ff0066">
						<font size="2">
								<font color="#a52a2a">  } catch (Exception e) {<br />   e.printStackTrace();<br />  }</font>
						</font>
				</font>
				<font color="#ff0066">
						<font size="2">
								<font color="#a52a2a">
										<br />
										<br />   }<br />}<br /></font>
						</font>
				</font>
		</p>
<img src ="http://www.blogjava.net/csssoft/aggbug/297945.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/csssoft/" target="_blank">IT追求者</a> 2009-10-12 17:56 <a href="http://www.blogjava.net/csssoft/archive/2009/10/12/297945.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>