﻿<?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-雪山飞鹄-随笔分类-JPA</title><link>http://www.blogjava.net/sxyx2008/category/46624.html</link><description>温馨提示：您的每一次转载,体现了我写此文的意义!!!烦请您在转载时注明出处http://www.blogjava.net/sxyx2008/谢谢合作!!!
</description><language>zh-cn</language><lastBuildDate>Tue, 02 Nov 2010 07:31:14 GMT</lastBuildDate><pubDate>Tue, 02 Nov 2010 07:31:14 GMT</pubDate><ttl>60</ttl><item><title>基于注解的SpringMVC整合JPA</title><link>http://www.blogjava.net/sxyx2008/archive/2010/11/02/336768.html</link><dc:creator>雪山飞鹄</dc:creator><author>雪山飞鹄</author><pubDate>Tue, 02 Nov 2010 02:47:00 GMT</pubDate><guid>http://www.blogjava.net/sxyx2008/archive/2010/11/02/336768.html</guid><wfw:comment>http://www.blogjava.net/sxyx2008/comments/336768.html</wfw:comment><comments>http://www.blogjava.net/sxyx2008/archive/2010/11/02/336768.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sxyx2008/comments/commentRss/336768.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sxyx2008/services/trackbacks/336768.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 点我下载工程代码实体类Departmentpackage&nbsp;com.sj.bean;import&nbsp;java.util.Set;import&nbsp;javax.persistence.CascadeType;import&nbsp;javax.persistence.Column;import&nbsp;javax.persistence.E...&nbsp;&nbsp;<a href='http://www.blogjava.net/sxyx2008/archive/2010/11/02/336768.html'>阅读全文</a><img src ="http://www.blogjava.net/sxyx2008/aggbug/336768.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sxyx2008/" target="_blank">雪山飞鹄</a> 2010-11-02 10:47 <a href="http://www.blogjava.net/sxyx2008/archive/2010/11/02/336768.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>持久化框架系列配置总结</title><link>http://www.blogjava.net/sxyx2008/archive/2010/10/18/335497.html</link><dc:creator>雪山飞鹄</dc:creator><author>雪山飞鹄</author><pubDate>Mon, 18 Oct 2010 13:41:00 GMT</pubDate><guid>http://www.blogjava.net/sxyx2008/archive/2010/10/18/335497.html</guid><wfw:comment>http://www.blogjava.net/sxyx2008/comments/335497.html</wfw:comment><comments>http://www.blogjava.net/sxyx2008/archive/2010/10/18/335497.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/sxyx2008/comments/commentRss/335497.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sxyx2008/services/trackbacks/335497.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在这一年多时间里，由于项目多半使用的是jdbc，很少使用到Hibernate、JPA、Ibatis等持久层框架。最多使用上spring的jdbcTemplate 久而久之，之前学习的这些持久层框架的映射配置忘的差不多了。借近期有时间，抽空复习了下以上三个持久层框架。现将项目中常用的映射关系的关联配置整理如下:<br />
JPA:<br />
<br />
<a title="JPA主键双向关联一对一映射" href="http://www.blogjava.net/sxyx2008/archive/2010/10/14/335081.html">JPA主键双向关联一对一映射</a><br />
<br />
<a title="JPA外键双向关联一对一映射" href="http://www.blogjava.net/sxyx2008/archive/2010/10/14/335173.html">JPA外键双向关联一对一映射</a><br />
<br />
</p>
<a title="JPA双向关联多对一映射" href="http://www.blogjava.net/sxyx2008/archive/2010/10/17/335361.html">JPA双向关联多对一映射</a><br />
<br />
<a title="JPA多对多双向关联" href="http://www.blogjava.net/sxyx2008/archive/2010/10/18/335487.html">JPA多对多双向关联<br />
</a><br />
<br />
Hibernate:<br />
<br />
<a title="Hibernate一对一主键双向关联映射(xml配置)" href="http://www.blogjava.net/sxyx2008/archive/2010/10/14/335087.html">Hibernate一对一主键双向关联映射(xml配置)</a><br />
<br />
<a title="Hibernate一对一主键双向关联映射(Annotation配置) " href="http://www.blogjava.net/sxyx2008/archive/2010/10/14/335093.html">Hibernate一对一主键双向关联映射(Annotation配置) </a><br />
<br />
<a title="Hibernate一对一外键双向关联(xml配置篇) " href="http://www.blogjava.net/sxyx2008/archive/2010/10/18/335454.html">Hibernate一对一外键双向关联(xml配置篇) </a><br />
<br />
<a title="Hibernate一对一外键双向关联(Annotation配置篇)" href="http://www.blogjava.net/sxyx2008/archive/2010/10/18/335456.html">Hibernate一对一外键双向关联(Annotation配置篇)</a><br />
<br />
<a title="Hibernate多对一双向关联(xml配置)" href="http://www.blogjava.net/sxyx2008/archive/2010/10/18/335461.html">Hibernate多对一双向关联(xml配置)</a><br />
<br />
<a title="Hibernate多对一双向关联(Annotation配置)" href="http://www.blogjava.net/sxyx2008/archive/2010/10/18/335462.html">Hibernate多对一双向关联(Annotation配置)</a><br />
<br />
<a title="Hibernate多对多双向关联(xml配置)" href="http://www.blogjava.net/sxyx2008/archive/2010/10/18/335489.html">Hibernate多对多双向关联(xml配置)</a><br />
<br />
<a title="Hibernate多对多双向关联(Annotation配置)" href="http://www.blogjava.net/sxyx2008/archive/2010/10/18/335490.html">Hibernate多对多双向关联(Annotation配置)</a><br />
<br />
<br />
使用Xdoclet和Ant构建Hibernate映射和配置文件<br />
<br />
<a title="使用Xdoclet和Ant构建Hibernate映射和配置文件 " href="http://www.blogjava.net/sxyx2008/archive/2010/09/30/333554.html">使用Xdoclet和Ant构建Hibernate映射和配置文件 </a><br />
<br />
<br />
Ibatis<br />
<a title="使用ibatis完成持久化工作" href="http://www.blogjava.net/sxyx2008/archive/2010/10/13/335015.html">使用ibatis完成持久化工作</a><br />
<br />
<br />
ibatis陆续更新中。。。。。期待下篇ibatis多对一双向关联映射
<img src ="http://www.blogjava.net/sxyx2008/aggbug/335497.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sxyx2008/" target="_blank">雪山飞鹄</a> 2010-10-18 21:41 <a href="http://www.blogjava.net/sxyx2008/archive/2010/10/18/335497.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JPA多对多双向关联</title><link>http://www.blogjava.net/sxyx2008/archive/2010/10/18/335487.html</link><dc:creator>雪山飞鹄</dc:creator><author>雪山飞鹄</author><pubDate>Mon, 18 Oct 2010 12:44:00 GMT</pubDate><guid>http://www.blogjava.net/sxyx2008/archive/2010/10/18/335487.html</guid><wfw:comment>http://www.blogjava.net/sxyx2008/comments/335487.html</wfw:comment><comments>http://www.blogjava.net/sxyx2008/archive/2010/10/18/335487.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sxyx2008/comments/commentRss/335487.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sxyx2008/services/trackbacks/335487.html</trackback:ping><description><![CDATA[<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/sxyx2008/many2many.jpg" /><br />
SQL<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">create</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;Roles<br />
(<br />
&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; font-weight: bold">int</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">not</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">&nbsp;auto_increment,<br />
&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; font-weight: bold">varchar</span><span style="color: #000000">(</span><span style="color: #800000; font-weight: bold">20</span><span style="color: #000000">),<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">primary</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">key</span><span style="color: #000000">&nbsp;(id)<br />
);<br />
<br />
</span><span style="color: #0000ff">create</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;Users<br />
(<br />
&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; font-weight: bold">int</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">not</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">&nbsp;auto_increment,<br />
&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; font-weight: bold">varchar</span><span style="color: #000000">(</span><span style="color: #800000; font-weight: bold">20</span><span style="color: #000000">),<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">primary</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">key</span><span style="color: #000000">&nbsp;(id)<br />
);<br />
<br />
</span><span style="color: #0000ff">create</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;user_role<br />
(<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #ff00ff">user_id</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; font-weight: bold">int</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">not</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">,<br />
&nbsp;&nbsp;&nbsp;role_id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; font-weight: bold">int</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">not</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">,<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">primary</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">key</span><span style="color: #000000">&nbsp;(</span><span style="color: #ff00ff">user_id</span><span style="color: #000000">,&nbsp;role_id)<br />
);<br />
<br />
</span><span style="color: #0000ff">alter</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;user_role&nbsp;</span><span style="color: #0000ff">add</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">constraint</span><span style="color: #000000">&nbsp;FK_Reference_1&nbsp;</span><span style="color: #0000ff">foreign</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">key</span><span style="color: #000000">&nbsp;(</span><span style="color: #ff00ff">user_id</span><span style="color: #000000">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">references</span><span style="color: #000000">&nbsp;Users&nbsp;(id)&nbsp;</span><span style="color: #0000ff">on</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">delete</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">restrict</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">on</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">update</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">restrict</span><span style="color: #000000">;<br />
<br />
</span><span style="color: #0000ff">alter</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;user_role&nbsp;</span><span style="color: #0000ff">add</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">constraint</span><span style="color: #000000">&nbsp;FK_Reference_2&nbsp;</span><span style="color: #0000ff">foreign</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">key</span><span style="color: #000000">&nbsp;(role_id)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">references</span><span style="color: #000000">&nbsp;Roles&nbsp;(id)&nbsp;</span><span style="color: #0000ff">on</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">delete</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">restrict</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">on</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">update</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">restrict</span><span style="color: #000000">;</span></div>
<br />
Role.java<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.many2many.bean;<br />
<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.Set;<br />
<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.CascadeType;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Column;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Entity;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.GeneratedValue;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.GenerationType;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Id;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.JoinColumn;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.JoinTable;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.ManyToMany;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Table;<br />
<br />
@Entity<br />
@Table(name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">roles</span><span style="color: #000000">"</span><span style="color: #000000">,catalog</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">JPA_Many2Many</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Role&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;String&nbsp;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;Set</span><span style="color: #000000">&lt;</span><span style="color: #000000">User</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;users;<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Id<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Column(name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">id</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;@GeneratedValue(strategy</span><span style="color: #000000">=</span><span style="color: #000000">GenerationType.AUTO)<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;getId()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setId(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;id)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.id&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Column(name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">name</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;String&nbsp;getName()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setName(String&nbsp;name)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.name&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;@ManyToMany(cascade</span><span style="color: #000000">=</span><span style="color: #000000">CascadeType.PERSIST)<br />
&nbsp;&nbsp;&nbsp;&nbsp;@JoinTable(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">user_role</span><span style="color: #000000">"</span><span style="color: #000000">,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;joinColumns</span><span style="color: #000000">=</span><span style="color: #000000">@JoinColumn(name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">role_id</span><span style="color: #000000">"</span><span style="color: #000000">),<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inverseJoinColumns</span><span style="color: #000000">=</span><span style="color: #000000">@JoinColumn(name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">user_id</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;Set</span><span style="color: #000000">&lt;</span><span style="color: #000000">User</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;getUsers()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;users;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setUsers(Set</span><span style="color: #000000">&lt;</span><span style="color: #000000">User</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;users)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.users&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;users;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
}<br />
</span></div>
<br />
User.java<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.many2many.bean;<br />
<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.Set;<br />
<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.CascadeType;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Column;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Entity;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.GeneratedValue;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.GenerationType;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Id;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.ManyToMany;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Table;<br />
<br />
@Entity<br />
@Table(name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">users</span><span style="color: #000000">"</span><span style="color: #000000">,catalog</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">JPA_Many2Many</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;User&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;String&nbsp;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;Set</span><span style="color: #000000">&lt;</span><span style="color: #000000">Role</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;roles;<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Id<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Column(name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">id</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;@GeneratedValue(strategy</span><span style="color: #000000">=</span><span style="color: #000000">GenerationType.AUTO)<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;getId()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setId(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;id)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.id&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Column(name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">name</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;String&nbsp;getName()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setName(String&nbsp;name)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.name&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;@ManyToMany(mappedBy</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">users</span><span style="color: #000000">"</span><span style="color: #000000">,cascade</span><span style="color: #000000">=</span><span style="color: #000000">CascadeType.REFRESH)<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;Set</span><span style="color: #000000">&lt;</span><span style="color: #000000">Role</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;getRoles()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;roles;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setRoles(Set</span><span style="color: #000000">&lt;</span><span style="color: #000000">Role</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;roles)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.roles&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;roles;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
}<br />
</span></div>
<br />
JPAUtil.java<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.many2many.util;<br />
<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.EntityManager;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.EntityManagerFactory;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Persistence;<br />
<br />
</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;JPAUtil&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;EntityManager&nbsp;entityManager;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;EntityManager&nbsp;getInstance(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(entityManager</span><span style="color: #000000">!=</span><span style="color: #0000ff">null</span><span style="color: #000000">){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;entityManager;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000ff">else</span><span style="color: #000000">{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;makeInstance();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">synchronized</span><span style="color: #000000">&nbsp;EntityManager&nbsp;makeInstance()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(entityManager</span><span style="color: #000000">==</span><span style="color: #0000ff">null</span><span style="color: #000000">){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EntityManagerFactory&nbsp;entityManagerFactory</span><span style="color: #000000">=</span><span style="color: #000000">Persistence.createEntityManagerFactory(</span><span style="color: #000000">"</span><span style="color: #000000">JPA_Many2ManyPU</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;entityManagerFactory.createEntityManager();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
</span></div>
<br />
测试代码<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #000000">@Test<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;insert(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EntityManager&nbsp;entityManager</span><span style="color: #000000">=</span><span style="color: #000000">JPAUtil.getInstance();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EntityTransaction&nbsp;entityTransaction</span><span style="color: #000000">=</span><span style="color: #000000">entityManager.getTransaction();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;entityTransaction.begin();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;User&nbsp;user</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;User();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;user.setName(</span><span style="color: #000000">"</span><span style="color: #000000">张三</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Role&nbsp;role</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Role();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;role.setName(</span><span style="color: #000000">"</span><span style="color: #000000">管理员</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set</span><span style="color: #000000">&lt;</span><span style="color: #000000">User</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;users</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;HashSet</span><span style="color: #000000">&lt;</span><span style="color: #000000">User</span><span style="color: #000000">&gt;</span><span style="color: #000000">();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;users.add(user);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;role.setUsers(users);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;entityManager.persist(role);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;entityTransaction.commit();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(Exception&nbsp;e)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Test<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;select(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EntityManager&nbsp;entityManager</span><span style="color: #000000">=</span><span style="color: #000000">JPAUtil.getInstance();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Role&nbsp;role</span><span style="color: #000000">=</span><span style="color: #000000">entityManager.find(Role.</span><span style="color: #0000ff">class</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(role.getName());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set</span><span style="color: #000000">&lt;</span><span style="color: #000000">User</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;set</span><span style="color: #000000">=</span><span style="color: #000000">role.getUsers();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(Iterator</span><span style="color: #000000">&lt;</span><span style="color: #000000">User</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;iterator&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;set.iterator();&nbsp;iterator.hasNext();)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;User&nbsp;user&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(User)&nbsp;iterator.next();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(user.getName());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}</span></div>
<img src ="http://www.blogjava.net/sxyx2008/aggbug/335487.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sxyx2008/" target="_blank">雪山飞鹄</a> 2010-10-18 20:44 <a href="http://www.blogjava.net/sxyx2008/archive/2010/10/18/335487.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JPA双向关联多对一映射 </title><link>http://www.blogjava.net/sxyx2008/archive/2010/10/17/335361.html</link><dc:creator>雪山飞鹄</dc:creator><author>雪山飞鹄</author><pubDate>Sun, 17 Oct 2010 08:36:00 GMT</pubDate><guid>http://www.blogjava.net/sxyx2008/archive/2010/10/17/335361.html</guid><wfw:comment>http://www.blogjava.net/sxyx2008/comments/335361.html</wfw:comment><comments>http://www.blogjava.net/sxyx2008/archive/2010/10/17/335361.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sxyx2008/comments/commentRss/335361.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sxyx2008/services/trackbacks/335361.html</trackback:ping><description><![CDATA[<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/sxyx2008/many2one.jpg" /><br />
SQL<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">create</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;Department<br />
(<br />
&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; font-weight: bold">int</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">not</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">&nbsp;auto_increment,<br />
&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; font-weight: bold">varchar</span><span style="color: #000000">(</span><span style="color: #800000; font-weight: bold">20</span><span style="color: #000000">),<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">primary</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">key</span><span style="color: #000000">&nbsp;(id)<br />
);<br />
<br />
</span><span style="color: #0000ff">create</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;Employee<br />
(<br />
&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; font-weight: bold">int</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">not</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">&nbsp;auto_increment,<br />
&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; font-weight: bold">varchar</span><span style="color: #000000">(</span><span style="color: #800000; font-weight: bold">20</span><span style="color: #000000">),<br />
&nbsp;&nbsp;&nbsp;deptid&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; font-weight: bold">int</span><span style="color: #000000">,<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">primary</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">key</span><span style="color: #000000">&nbsp;(id)<br />
);<br />
<br />
</span><span style="color: #0000ff">alter</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;Employee&nbsp;</span><span style="color: #0000ff">add</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">constraint</span><span style="color: #000000">&nbsp;FK_Reference_1&nbsp;</span><span style="color: #0000ff">foreign</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">key</span><span style="color: #000000">&nbsp;(deptid)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">references</span><span style="color: #000000">&nbsp;Department&nbsp;(id)&nbsp;</span><span style="color: #0000ff">on</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">delete</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">restrict</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">on</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">update</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">restrict</span><span style="color: #000000">;</span></div>
Department.java<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.many2one.bean;<br />
<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.io.Serializable;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.Set;<br />
<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Column;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Entity;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.GeneratedValue;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.GenerationType;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Id;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.OneToMany;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Table;<br />
<br />
@SuppressWarnings(</span><span style="color: #000000">"</span><span style="color: #000000">serial</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
@Entity<br />
@Table(name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">department</span><span style="color: #000000">"</span><span style="color: #000000">,catalog</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">jpa_many2one</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Department&nbsp;&nbsp;</span><span style="color: #0000ff">implements</span><span style="color: #000000">&nbsp;Serializable{<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;String&nbsp;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;Set</span><span style="color: #000000">&lt;</span><span style="color: #000000">Employee</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;sets;<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Id<br />
&nbsp;&nbsp;&nbsp;&nbsp;@GeneratedValue(strategy</span><span style="color: #000000">=</span><span style="color: #000000">GenerationType.AUTO)<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Column(name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">id</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;getId()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setId(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;id)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.id&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Column(name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">name</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;String&nbsp;getName()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setName(String&nbsp;name)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.name&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;@OneToMany(mappedBy</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">department</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;Set</span><span style="color: #000000">&lt;</span><span style="color: #000000">Employee</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;getSets()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;sets;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setSets(Set</span><span style="color: #000000">&lt;</span><span style="color: #000000">Employee</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;sets)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.sets&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;sets;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
}<br />
</span></div>
Employee.java<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.many2one.bean;<br />
<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.CascadeType;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Column;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Entity;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.GeneratedValue;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.GenerationType;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Id;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.JoinColumn;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.ManyToOne;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Table;<br />
<br />
@Entity<br />
@Table(name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">employee</span><span style="color: #000000">"</span><span style="color: #000000">,catalog</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">jpa_many2one</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Employee&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;String&nbsp;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;Department&nbsp;department;<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Id<br />
&nbsp;&nbsp;&nbsp;&nbsp;@GeneratedValue(strategy</span><span style="color: #000000">=</span><span style="color: #000000">GenerationType.AUTO)<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Column(name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">id</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;getId()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setId(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;id)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.id&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Column(name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">name</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;String&nbsp;getName()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setName(String&nbsp;name)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.name&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;@ManyToOne(cascade</span><span style="color: #000000">=</span><span style="color: #000000">CascadeType.ALL)<br />
&nbsp;&nbsp;&nbsp;&nbsp;@JoinColumn(name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">deptid</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;Department&nbsp;getDepartment()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;department;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setDepartment(Department&nbsp;department)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.department&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;department;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
}<br />
</span></div>
persistence.xml<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">&lt;?</span><span style="color: #ff00ff">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"</span><span style="color: #0000ff">?&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">persistence&nbsp;</span><span style="color: #ff0000">xmlns</span><span style="color: #0000ff">="http://java.sun.com/xml/ns/persistence"</span><span style="color: #ff0000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;xmlns:xsi</span><span style="color: #0000ff">="http://www.w3.org/2001/XMLSchema-instance"</span><span style="color: #ff0000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;xsi:schemaLocation</span><span style="color: #0000ff">="http://java.sun.com/xml/ns/persistence<br />
&nbsp;&nbsp;&nbsp;&nbsp;http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"</span><span style="color: #ff0000">&nbsp;version</span><span style="color: #0000ff">="1.0"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">persistence-unit&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="JPA_Many2OnePU"</span><span style="color: #ff0000">&nbsp;transaction-type</span><span style="color: #0000ff">="RESOURCE_LOCAL"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">provider</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">org.hibernate.ejb.HibernatePersistence</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">provider</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">com.many2one.bean.Department</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">com.many2one.bean.Employee</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">properties</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name&nbsp;</span><span style="color: #0000ff">=&nbsp;"hibernate.connection.driver_class"</span><span style="color: #ff0000">&nbsp;value&nbsp;</span><span style="color: #0000ff">=&nbsp;"com.mysql.jdbc.Driver"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name&nbsp;</span><span style="color: #0000ff">=&nbsp;"hibernate.connection.url"</span><span style="color: #ff0000">&nbsp;value&nbsp;</span><span style="color: #0000ff">=&nbsp;"jdbc:mysql://localhost:3306/jpa_many2one"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name&nbsp;</span><span style="color: #0000ff">=&nbsp;"hibernate.connection.username"</span><span style="color: #ff0000">&nbsp;value&nbsp;</span><span style="color: #0000ff">=&nbsp;"root"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name&nbsp;</span><span style="color: #0000ff">=&nbsp;"hibernate.connection.password"</span><span style="color: #ff0000">&nbsp;value&nbsp;</span><span style="color: #0000ff">=&nbsp;"root"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name&nbsp;</span><span style="color: #0000ff">=&nbsp;"hibernate.show_sql"</span><span style="color: #ff0000">&nbsp;value&nbsp;</span><span style="color: #0000ff">=&nbsp;"true"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name&nbsp;</span><span style="color: #0000ff">=&nbsp;"hibernate.format_sql"</span><span style="color: #ff0000">&nbsp;value&nbsp;</span><span style="color: #0000ff">=&nbsp;"true"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">properties</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">persistence-unit</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;<br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">persistence</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span></div>
JPAUtil.java<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.many2one.util;<br />
<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.EntityManager;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.EntityManagerFactory;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Persistence;<br />
<br />
</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;JPAUtil&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;EntityManager&nbsp;entityManager;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;EntityManager&nbsp;getInstance(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(entityManager</span><span style="color: #000000">!=</span><span style="color: #0000ff">null</span><span style="color: #000000">){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;entityManager;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000ff">else</span><span style="color: #000000">{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;makeInstance();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">synchronized</span><span style="color: #000000">&nbsp;EntityManager&nbsp;makeInstance()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(entityManager</span><span style="color: #000000">==</span><span style="color: #0000ff">null</span><span style="color: #000000">){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EntityManagerFactory&nbsp;entityManagerFactory</span><span style="color: #000000">=</span><span style="color: #000000">Persistence.createEntityManagerFactory(</span><span style="color: #000000">"</span><span style="color: #000000">JPA_Many2OnePU</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;entityManagerFactory.createEntityManager();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
</span></div>
<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #000000">@Test<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;select(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EntityManager&nbsp;entityManager</span><span style="color: #000000">=</span><span style="color: #000000">JPAUtil.getInstance();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Employee&nbsp;employee</span><span style="color: #000000">=</span><span style="color: #000000">entityManager.find(Employee.</span><span style="color: #0000ff">class</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">雇员是:</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">employee.getName());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">部门是:</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">employee.getDepartment().getName());<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Test<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;insert(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EntityManager&nbsp;entityManager</span><span style="color: #000000">=</span><span style="color: #000000">JPAUtil.getInstance();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EntityTransaction&nbsp;entityTransaction</span><span style="color: #000000">=</span><span style="color: #000000">entityManager.getTransaction();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;entityTransaction.begin();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Department&nbsp;department</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Department();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;department.setName(</span><span style="color: #000000">"</span><span style="color: #000000">软件研发部</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Employee&nbsp;employee</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Employee();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;employee.setName(</span><span style="color: #000000">"</span><span style="color: #000000">张三</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;employee.setDepartment(department);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;entityManager.persist(employee);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;entityTransaction.commit();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(Exception&nbsp;e)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;entityTransaction.rollback();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}</span></div>
 <img src ="http://www.blogjava.net/sxyx2008/aggbug/335361.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sxyx2008/" target="_blank">雪山飞鹄</a> 2010-10-17 16:36 <a href="http://www.blogjava.net/sxyx2008/archive/2010/10/17/335361.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Caused by: org.hibernate.PersistentObjectException: detached entity passed to persist:</title><link>http://www.blogjava.net/sxyx2008/archive/2010/10/15/335225.html</link><dc:creator>雪山飞鹄</dc:creator><author>雪山飞鹄</author><pubDate>Fri, 15 Oct 2010 05:30:00 GMT</pubDate><guid>http://www.blogjava.net/sxyx2008/archive/2010/10/15/335225.html</guid><wfw:comment>http://www.blogjava.net/sxyx2008/comments/335225.html</wfw:comment><comments>http://www.blogjava.net/sxyx2008/archive/2010/10/15/335225.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sxyx2008/comments/commentRss/335225.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sxyx2008/services/trackbacks/335225.html</trackback:ping><description><![CDATA[<p>Caused by: org.hibernate.PersistentObjectException: detached entity passed to persist:<br />
此异常多出现在Hibernate、JPA级联映射中,在级联保存时频发<br />
从异常信息不难看出，在进行持久化的时候引用了一个未持久化的对象<br />
或者确定给对象已被持久化了,当再次去引用时，仍包此错误，那么只有一种可能，就是在配置文件里面级联配置的不正确尝试把cascade = CascadeType.ALL 改成 cascade=CascadeType.REFRESH 测一下看看。(适用于Hibernate注解或JPA的级联映射)</p>
<img src ="http://www.blogjava.net/sxyx2008/aggbug/335225.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sxyx2008/" target="_blank">雪山飞鹄</a> 2010-10-15 13:30 <a href="http://www.blogjava.net/sxyx2008/archive/2010/10/15/335225.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java.lang.IllegalStateException: Not allowed to create transaction on shared EntityManager - use Spring transactions or EJB CMT instead</title><link>http://www.blogjava.net/sxyx2008/archive/2010/10/15/335209.html</link><dc:creator>雪山飞鹄</dc:creator><author>雪山飞鹄</author><pubDate>Fri, 15 Oct 2010 03:02:00 GMT</pubDate><guid>http://www.blogjava.net/sxyx2008/archive/2010/10/15/335209.html</guid><wfw:comment>http://www.blogjava.net/sxyx2008/comments/335209.html</wfw:comment><comments>http://www.blogjava.net/sxyx2008/archive/2010/10/15/335209.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sxyx2008/comments/commentRss/335209.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sxyx2008/services/trackbacks/335209.html</trackback:ping><description><![CDATA[java.lang.IllegalStateException: Not allowed to create transaction on shared EntityManager - use Spring transactions or EJB CMT instead<br />
环境说明:<br />
该异常出自JPA的事务<br />
产生此异常的原因是因为在项目中将JPA的事务交给spring来管理,即使用了@Transactional注解,而自己手动又在代码中开启了JPA的事务.<br />
解决方案:删除自己手动写的JPA事务代码或去掉@Transactional注解 
<img src ="http://www.blogjava.net/sxyx2008/aggbug/335209.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sxyx2008/" target="_blank">雪山飞鹄</a> 2010-10-15 11:02 <a href="http://www.blogjava.net/sxyx2008/archive/2010/10/15/335209.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JPA外键双向关联一对一映射</title><link>http://www.blogjava.net/sxyx2008/archive/2010/10/14/335173.html</link><dc:creator>雪山飞鹄</dc:creator><author>雪山飞鹄</author><pubDate>Thu, 14 Oct 2010 12:37:00 GMT</pubDate><guid>http://www.blogjava.net/sxyx2008/archive/2010/10/14/335173.html</guid><wfw:comment>http://www.blogjava.net/sxyx2008/comments/335173.html</wfw:comment><comments>http://www.blogjava.net/sxyx2008/archive/2010/10/14/335173.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sxyx2008/comments/commentRss/335173.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sxyx2008/services/trackbacks/335173.html</trackback:ping><description><![CDATA[<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/sxyx2008/JPAOne2Onefk.jpg" width="701" height="151" /><br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">create</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;Husband<br />
(<br />
&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; font-weight: bold">int</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">not</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">&nbsp;auto_increment,<br />
&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; font-weight: bold">varchar</span><span style="color: #000000">(</span><span style="color: #800000; font-weight: bold">20</span><span style="color: #000000">),<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">primary</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">key</span><span style="color: #000000">&nbsp;(id)<br />
);<br />
<br />
</span><span style="color: #0000ff">create</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;Wife<br />
(<br />
&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; font-weight: bold">int</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">not</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">&nbsp;auto_increment,<br />
&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; font-weight: bold">varchar</span><span style="color: #000000">(</span><span style="color: #800000; font-weight: bold">20</span><span style="color: #000000">),<br />
&nbsp;&nbsp;&nbsp;husband_id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; font-weight: bold">int</span><span style="color: #000000">,<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">primary</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">key</span><span style="color: #000000">&nbsp;(id)<br />
);<br />
</span><span style="color: #0000ff">alter</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;Wife&nbsp;</span><span style="color: #0000ff">add</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">constraint</span><span style="color: #000000">&nbsp;FK_Reference_1&nbsp;</span><span style="color: #0000ff">foreign</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">key</span><span style="color: #000000">&nbsp;(id)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">references</span><span style="color: #000000">&nbsp;Husband&nbsp;(id)&nbsp;</span><span style="color: #0000ff">on</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">delete</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">restrict</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">on</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">update</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">restrict</span><span style="color: #000000">;<br />
</span></div>
Husband<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.ono2one.bean;<br />
<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.io.Serializable;<br />
<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Entity;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.GeneratedValue;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.GenerationType;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Id;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.OneToOne;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Table;<br />
<br />
@SuppressWarnings(</span><span style="color: #000000">"</span><span style="color: #000000">serial</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
@Entity<br />
@Table(name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">husband</span><span style="color: #000000">"</span><span style="color: #000000">,catalog</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">JPA_One2One_fk</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Husband&nbsp;</span><span style="color: #0000ff">implements</span><span style="color: #000000">&nbsp;Serializable{<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;String&nbsp;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;Wife&nbsp;wife;<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Id<br />
&nbsp;&nbsp;&nbsp;&nbsp;@GeneratedValue(strategy</span><span style="color: #000000">=</span><span style="color: #000000">GenerationType.AUTO)<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;getId()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setId(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;id)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.id&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;String&nbsp;getName()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setName(String&nbsp;name)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.name&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;@OneToOne(mappedBy</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">husband</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;Wife&nbsp;getWife()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;wife;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setWife(Wife&nbsp;wife)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.wife&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;wife;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
}<br />
</span></div>
Wife<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.ono2one.bean;<br />
<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.io.Serializable;<br />
<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.CascadeType;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Entity;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.GeneratedValue;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.GenerationType;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Id;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.JoinColumn;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.OneToOne;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Table;<br />
<br />
@SuppressWarnings(</span><span style="color: #000000">"</span><span style="color: #000000">serial</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
@Entity<br />
@Table(name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">wife</span><span style="color: #000000">"</span><span style="color: #000000">,catalog</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">JPA_One2One_fk</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Wife&nbsp;</span><span style="color: #0000ff">implements</span><span style="color: #000000">&nbsp;Serializable{<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;String&nbsp;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;Husband&nbsp;husband;<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Id<br />
&nbsp;&nbsp;&nbsp;&nbsp;@GeneratedValue(strategy</span><span style="color: #000000">=</span><span style="color: #000000">GenerationType.AUTO)<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;getId()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setId(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;id)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.id&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;String&nbsp;getName()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setName(String&nbsp;name)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.name&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;@OneToOne(cascade</span><span style="color: #000000">=</span><span style="color: #000000">CascadeType.ALL)<br />
&nbsp;&nbsp;&nbsp;&nbsp;@JoinColumn(name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">husband_id</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;Husband&nbsp;getHusband()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;husband;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setHusband(Husband&nbsp;husband)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.husband&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;husband;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
}<br />
</span></div>
JPAUtil<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.ono2one.util;<br />
<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.EntityManager;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.EntityManagerFactory;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Persistence;<br />
<br />
</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;JPAUtil&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;EntityManager&nbsp;entityManager;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;EntityManager&nbsp;getInstance(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(entityManager</span><span style="color: #000000">!=</span><span style="color: #0000ff">null</span><span style="color: #000000">){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;entityManager;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000ff">else</span><span style="color: #000000">{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;makeInstance();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">synchronized</span><span style="color: #000000">&nbsp;EntityManager&nbsp;makeInstance()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(entityManager</span><span style="color: #000000">==</span><span style="color: #0000ff">null</span><span style="color: #000000">){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EntityManagerFactory&nbsp;entityManagerFactory</span><span style="color: #000000">=</span><span style="color: #000000">Persistence.createEntityManagerFactory(</span><span style="color: #000000">"</span><span style="color: #000000">JPA_One2One_fkPU</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;entityManagerFactory.createEntityManager();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
</span></div>
persistence.xml<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">&lt;?</span><span style="color: #ff00ff">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"</span><span style="color: #0000ff">?&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">persistence&nbsp;</span><span style="color: #ff0000">xmlns</span><span style="color: #0000ff">="http://java.sun.com/xml/ns/persistence"</span><span style="color: #ff0000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;xmlns:xsi</span><span style="color: #0000ff">="http://www.w3.org/2001/XMLSchema-instance"</span><span style="color: #ff0000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;xsi:schemaLocation</span><span style="color: #0000ff">="http://java.sun.com/xml/ns/persistence<br />
&nbsp;&nbsp;&nbsp;&nbsp;http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"</span><span style="color: #ff0000">&nbsp;version</span><span style="color: #0000ff">="1.0"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">persistence-unit&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="JPA_One2One_fkPU"</span><span style="color: #ff0000">&nbsp;transaction-type</span><span style="color: #0000ff">="RESOURCE_LOCAL"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">provider</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">org.hibernate.ejb.HibernatePersistence</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">provider</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">com.ono2one.bean.Husband</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">com.ono2one.bean.Wife</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">properties</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name&nbsp;</span><span style="color: #0000ff">=&nbsp;"hibernate.connection.driver_class"</span><span style="color: #ff0000">&nbsp;value&nbsp;</span><span style="color: #0000ff">=&nbsp;"com.mysql.jdbc.Driver"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name&nbsp;</span><span style="color: #0000ff">=&nbsp;"hibernate.connection.url"</span><span style="color: #ff0000">&nbsp;value&nbsp;</span><span style="color: #0000ff">=&nbsp;"jdbc:mysql://localhost:3306/JPA_One2One_pk"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name&nbsp;</span><span style="color: #0000ff">=&nbsp;"hibernate.connection.username"</span><span style="color: #ff0000">&nbsp;value&nbsp;</span><span style="color: #0000ff">=&nbsp;"root"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name&nbsp;</span><span style="color: #0000ff">=&nbsp;"hibernate.connection.password"</span><span style="color: #ff0000">&nbsp;value&nbsp;</span><span style="color: #0000ff">=&nbsp;"root"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="hibernate.show_sql"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="true"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="hibernate.format_sql"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="true"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">properties</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">persistence-unit</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;<br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">persistence</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span></div>
HusbandDAO<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.ono2one.dao;<br />
<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.EntityManager;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.EntityTransaction;<br />
<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;org.junit.Test;<br />
<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;com.ono2one.bean.Husband;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;com.ono2one.bean.Wife;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;com.ono2one.util.JPAUtil;<br />
<br />
</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;HusbandDAO&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Test<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;insert(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EntityManager&nbsp;entityManager</span><span style="color: #000000">=</span><span style="color: #000000">JPAUtil.getInstance();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EntityTransaction&nbsp;entityTransaction</span><span style="color: #000000">=</span><span style="color: #000000">entityManager.getTransaction();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;entityTransaction.begin();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Husband&nbsp;husband</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Husband();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;husband.setName(</span><span style="color: #000000">"</span><span style="color: #000000">张三</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;entityManager.persist(husband);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Wife&nbsp;wife</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Wife();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wife.setName(</span><span style="color: #000000">"</span><span style="color: #000000">如花</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wife.setHusband(husband);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;entityManager.persist(wife);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;entityTransaction.commit();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(Exception&nbsp;e)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;entityTransaction.rollback();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
</span></div>
<img src ="http://www.blogjava.net/sxyx2008/aggbug/335173.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sxyx2008/" target="_blank">雪山飞鹄</a> 2010-10-14 20:37 <a href="http://www.blogjava.net/sxyx2008/archive/2010/10/14/335173.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JPA主键双向关联一对一映射</title><link>http://www.blogjava.net/sxyx2008/archive/2010/10/14/335081.html</link><dc:creator>雪山飞鹄</dc:creator><author>雪山飞鹄</author><pubDate>Thu, 14 Oct 2010 01:23:00 GMT</pubDate><guid>http://www.blogjava.net/sxyx2008/archive/2010/10/14/335081.html</guid><wfw:comment>http://www.blogjava.net/sxyx2008/comments/335081.html</wfw:comment><comments>http://www.blogjava.net/sxyx2008/archive/2010/10/14/335081.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sxyx2008/comments/commentRss/335081.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sxyx2008/services/trackbacks/335081.html</trackback:ping><description><![CDATA[<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/sxyx2008/jpaone2onepk.jpg" width="571" height="136" /><br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">create</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;Husband<br />
(<br />
&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; font-weight: bold">int</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">not</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">&nbsp;auto_increment,<br />
&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; font-weight: bold">varchar</span><span style="color: #000000">(</span><span style="color: #800000; font-weight: bold">200</span><span style="color: #000000">),<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">primary</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">key</span><span style="color: #000000">&nbsp;(id)<br />
);<br />
</span></div>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">create</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;Wife<br />
(<br />
&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; font-weight: bold">int</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">not</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">,<br />
&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; font-weight: bold">varchar</span><span style="color: #000000">(</span><span style="color: #800000; font-weight: bold">20</span><span style="color: #000000">),<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">primary</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">key</span><span style="color: #000000">&nbsp;(id)<br />
);<br />
</span></div>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">alter</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;Wife&nbsp;</span><span style="color: #0000ff">add</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">constraint</span><span style="color: #000000">&nbsp;FK_Reference_1&nbsp;</span><span style="color: #0000ff">foreign</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">key</span><span style="color: #000000">&nbsp;(id)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">references</span><span style="color: #000000">&nbsp;Husband&nbsp;(id)&nbsp;</span><span style="color: #0000ff">on</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">delete</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">restrict</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">on</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">update</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">restrict</span><span style="color: #000000">;<br />
</span></div>
Wife.java<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.jpa.one2one.bean;<br />
<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.io.Serializable;<br />
<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Column;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Entity;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Id;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.OneToOne;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.PrimaryKeyJoinColumn;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Table;<br />
<br />
@SuppressWarnings(</span><span style="color: #000000">"</span><span style="color: #000000">serial</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
@Entity<br />
@Table<br />
</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Wife&nbsp;</span><span style="color: #0000ff">implements</span><span style="color: #000000">&nbsp;Serializable{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;String&nbsp;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;Husband&nbsp;husband;<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Id<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Column<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;getId()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setId(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;id)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.id&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Column(name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">name</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;String&nbsp;getName()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setName(String&nbsp;name)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.name&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;@OneToOne<br />
&nbsp;&nbsp;&nbsp;&nbsp;@PrimaryKeyJoinColumn<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;Husband&nbsp;getHusband()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;husband;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setHusband(Husband&nbsp;husband)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.husband&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;husband;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
}<br />
</span></div>
Husband.java<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.jpa.one2one.bean;<br />
<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.CascadeType;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Column;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Entity;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.GeneratedValue;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.GenerationType;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Id;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.OneToOne;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.PrimaryKeyJoinColumn;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Table;<br />
<br />
@Entity<br />
@Table<br />
</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Husband&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;String&nbsp;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;Wife&nbsp;wife;<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Id<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Column<br />
&nbsp;&nbsp;&nbsp;&nbsp;@GeneratedValue(strategy</span><span style="color: #000000">=</span><span style="color: #000000">GenerationType.AUTO)<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;getId()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setId(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;id)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.id&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Column(name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">name</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;String&nbsp;getName()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setName(String&nbsp;name)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.name&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;@OneToOne(cascade</span><span style="color: #000000">=</span><span style="color: #000000">CascadeType.ALL)<br />
&nbsp;&nbsp;&nbsp;&nbsp;@PrimaryKeyJoinColumn<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;Wife&nbsp;getWife()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;wife;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setWife(Wife&nbsp;wife)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.wife&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;wife;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
}<br />
</span></div>
HusbandDAO<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.jpa.one2one.dao;<br />
<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.EntityManager;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.EntityTransaction;<br />
<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;org.junit.Test;<br />
<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;com.jpa.one2one.bean.Husband;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;com.jpa.one2one.bean.Wife;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;com.jpa.one2one.util.JPAUtil;<br />
<br />
</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;HusbandDAO&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Test<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;insert(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EntityManager&nbsp;entityManager</span><span style="color: #000000">=</span><span style="color: #000000">JPAUtil.getInstance();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EntityTransaction&nbsp;transaction</span><span style="color: #000000">=</span><span style="color: #000000">entityManager.getTransaction();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transaction.begin();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Husband&nbsp;husband</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Husband();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;husband.setName(</span><span style="color: #000000">"</span><span style="color: #000000">张三</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;entityManager.persist(husband);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Wife&nbsp;wife</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Wife();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">wife.setHusband(husband);</span><span style="color: #008000"><br />
</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wife.setName(</span><span style="color: #000000">"</span><span style="color: #000000">如花</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wife.setId(husband.getId());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;entityManager.persist(wife);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transaction.commit();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(Exception&nbsp;e)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transaction.rollback();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
</span></div>
JPAUtil<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.jpa.one2one.util;<br />
<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.EntityManager;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.EntityManagerFactory;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.persistence.Persistence;<br />
<br />
</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;JPAUtil&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;EntityManager&nbsp;entityManager;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;EntityManager&nbsp;getInstance(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(entityManager</span><span style="color: #000000">!=</span><span style="color: #0000ff">null</span><span style="color: #000000">){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;entityManager;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000ff">else</span><span style="color: #000000">{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;makeInstance();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">synchronized</span><span style="color: #000000">&nbsp;EntityManager&nbsp;makeInstance()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(entityManager</span><span style="color: #000000">==</span><span style="color: #0000ff">null</span><span style="color: #000000">){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EntityManagerFactory&nbsp;entityManagerFactory</span><span style="color: #000000">=</span><span style="color: #000000">Persistence.createEntityManagerFactory(</span><span style="color: #000000">"</span><span style="color: #000000">JPAPU</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;entityManagerFactory.createEntityManager();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
</span></div>
persistence.xml<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">&lt;?</span><span style="color: #ff00ff">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"</span><span style="color: #0000ff">?&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">persistence&nbsp;</span><span style="color: #ff0000">xmlns</span><span style="color: #0000ff">="http://java.sun.com/xml/ns/persistence"</span><span style="color: #ff0000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;xmlns:xsi</span><span style="color: #0000ff">="http://www.w3.org/2001/XMLSchema-instance"</span><span style="color: #ff0000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;xsi:schemaLocation</span><span style="color: #0000ff">="http://java.sun.com/xml/ns/persistence<br />
&nbsp;&nbsp;&nbsp;&nbsp;http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"</span><span style="color: #ff0000">&nbsp;version</span><span style="color: #0000ff">="1.0"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">persistence-unit&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="JPAPU"</span><span style="color: #ff0000">&nbsp;transaction-type</span><span style="color: #0000ff">="RESOURCE_LOCAL"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">provider</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">org.hibernate.ejb.HibernatePersistence</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">provider</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">com.jpa.one2one.bean.Wife</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">com.jpa.one2one.bean.Husband</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">properties</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name&nbsp;</span><span style="color: #0000ff">=&nbsp;"hibernate.connection.driver_class"</span><span style="color: #ff0000">&nbsp;value&nbsp;</span><span style="color: #0000ff">=&nbsp;"com.mysql.jdbc.Driver"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name&nbsp;</span><span style="color: #0000ff">=&nbsp;"hibernate.connection.url"</span><span style="color: #ff0000">&nbsp;value&nbsp;</span><span style="color: #0000ff">=&nbsp;"jdbc:mysql://localhost:3306/JPA"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name&nbsp;</span><span style="color: #0000ff">=&nbsp;"hibernate.connection.username"</span><span style="color: #ff0000">&nbsp;value&nbsp;</span><span style="color: #0000ff">=&nbsp;"root"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name&nbsp;</span><span style="color: #0000ff">=&nbsp;"hibernate.connection.password"</span><span style="color: #ff0000">&nbsp;value&nbsp;</span><span style="color: #0000ff">=&nbsp;"root"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="hibernate.show_sql"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="true"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="hibernate.format_sql"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="true"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">properties</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">persistence-unit</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;<br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">persistence</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span></div>
<br />
<a title="示例程序" href="http://customer-lib.googlecode.com/files/JPA.zip">示例程序</a>
<img src ="http://www.blogjava.net/sxyx2008/aggbug/335081.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sxyx2008/" target="_blank">雪山飞鹄</a> 2010-10-14 09:23 <a href="http://www.blogjava.net/sxyx2008/archive/2010/10/14/335081.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>