- 浏览: 656606 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (173)
- ajax (4)
- ant (4)
- css (14)
- eclipse (1)
- exe4j (0)
- hibernate (7)
- html (29)
- http (2)
- install4j (0)
- java (35)
- javascript (31)
- jdbc (1)
- jquery (2)
- jsp (15)
- linux命令 (8)
- ooad (2)
- properties (3)
- servlet (1)
- spring (3)
- struts (6)
- swing (4)
- thread (2)
- version_control (1)
- webservice (4)
- xml (4)
- 数据库 (19)
- 正则表达式 (5)
- 其他 (16)
- 面试题 (1)
- 框架 (9)
- maven (1)
- util (29)
- 设计模式 (1)
最新评论
-
herodie4444:
看起来好像不难。
Java Struts2创建Excel文件并实现文件下载 -
心轨翼:
Java遍历Set集合方法 -
魔鬼的献祭:
...
java的web开发分页工具类 -
Nmxszxsl:
能发一个没有被墙的代码到我的邮箱吗?万分感谢。54365156 ...
Google翻译post提交无长度限制的在线翻译例子 -
782763595:
...
jar包混淆器介绍
背景说明:论坛中每个用户(Admin类)有多个好友,每个好友,可以是多个用户的好友。是表自身多对多的关系。
Admin类代码:
CREATE TABLE `friendrelation` (
`OwenerId` int(11) NOT NULL default '0',
`FriendId` int(11) NOT NULL default '0',
PRIMARY KEY (`OwenerId`,`FriendId`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
admin类的 hibernate文件Admin.hbm.xml内容(注释中有简单说明):
参考:
http://topic.csdn.net/u/20080516/11/c86b95b1-8a09-43e6-96cd-8058f051bfe4.html
Admin类代码:
package com.soonj.entity; import java.util.HashSet; import java.util.Set; public class Admin { private Integer aid;// private String adminName;//admin's name--unique private String password;//admin's password private String authDay;//authorize day private Set<Admin> friends = new HashSet<Admin>(); private Set<AdminMessage> messages = new HashSet<AdminMessage>(); public void addFriend(Admin friend){ friends.add(friend); } public void addMessage(AdminMessage message){ messages.add(message); message.setBelonger(this); } public Set<Admin> getFriends() { return friends; } public void setFriends(Set<Admin> friends) { this.friends = friends; } public String getAdminName() { return adminName; } public void setAdminName(String adminName) { this.adminName = adminName; } public Integer getAid() { return aid; } public void setAid(Integer aid) { this.aid = aid; } public String getAuthDay() { return authDay; } public void setAuthDay(String authDay) { this.authDay = authDay; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Set<AdminMessage> getMessages() { return messages; } public void setMessages(Set<AdminMessage> messages) { this.messages = messages; } }
CREATE TABLE `friendrelation` (
`OwenerId` int(11) NOT NULL default '0',
`FriendId` int(11) NOT NULL default '0',
PRIMARY KEY (`OwenerId`,`FriendId`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
admin类的 hibernate文件Admin.hbm.xml内容(注释中有简单说明):
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.soonj.entity"> <class name="Admin" table="admins"> <id name="aid" column="aid" type="java.lang.Integer"> <generator class="increment"></generator> </id> <property name="adminName" column="adminName" not-null="true" unique="true"></property> <property name="password" column="password" not-null="true"></property> <property name="authDay" column="authDay" not-null="true"></property> <set name="friends" table="friendrelation" cascade="save-update" lazy="false" inverse="false"> <key column="OwenerId"></key><!-- 中间表第一个字段 --> <many-to-many class="Admin" column="FriendId"/><!-- 中间表第二个字段 --> </set> <set name="messages" cascade="save-update" lazy="false" inverse="true"> <key column="mfid"></key> <one-to-many class="AdminMessage"/> </set> </class> </hibernate-mapping>
参考:
http://topic.csdn.net/u/20080516/11/c86b95b1-8a09-43e6-96cd-8058f051bfe4.html
评论
1 楼
chentian0216
2013-02-04
额 有个问题
<set name="friends" table="friendrelation" cascade="save-update" lazy="false" inverse="false">
<key column="OwenerId"></key><!-- 中间表第一个字段 -->
<many-to-many class="Admin" column="FriendId"/><!-- 中间表第二个字段 -->
</set>
其中lazy = false
这样的话不是会一直形成死循环吗???
<set name="friends" table="friendrelation" cascade="save-update" lazy="false" inverse="false">
<key column="OwenerId"></key><!-- 中间表第一个字段 -->
<many-to-many class="Admin" column="FriendId"/><!-- 中间表第二个字段 -->
</set>
其中lazy = false
这样的话不是会一直形成死循环吗???
发表评论
-
java读取.properties配置文件的几种方法
2017-09-22 09:38 609读取.properties配置文件在实际的开发中使用的很多,总 ... -
java前后台字符串编码转换
2016-12-15 15:52 738此文为应用中遇到字符串编码转换问题网上找资料解决问题记录笔记, ... -
JS前端DES加密参数
2016-07-08 14:27 11647DES加密为可解密的机制,这里使用DES进行加密方便后台解密还 ... -
XSS跨站漏洞修复
2016-07-08 11:47 4878避免XSS跨站漏洞的方法之一主要是将用户所提交的内容输入输出进 ... -
hibernate注解配置联合主键
2014-07-17 09:35 1508有时一个实体的主键可能同时为多个,例如下面使用的字典“Dict ... -
hibernate的clob数据处理
2014-05-21 17:11 1026hibernate的clob数据处理: import or ... -
java设计模式笔记链接地址汇总
2012-12-25 12:02 1049这是iteye博客用户的iulve-rover-163-com ... -
java枚举类型(转)
2012-12-24 18:34 4929public class TestEnum { ... -
内存溢出
2012-11-21 11:07 10581.PermGen space的全称是Permanent Ge ... -
日期比较例子
2012-10-16 15:30 1161/** * 时间日期比较处理例子 * @autho ... -
Struts2的简单示例action类
2012-09-26 19:57 4651基类: package com.kit.common; ... -
Java过滤html标签
2012-09-21 09:54 1751方法一: String oldStr="< ... -
Web项目设置页面不缓存
2012-08-04 19:55 2801htm网页 <meta http-equiv=&qu ... -
Java文件保存与删除工具类
2012-07-26 15:46 4277import java.io.File; import ... -
使用AOP实现监控日志并保存
2012-07-13 20:42 5912最近项目中要做个效能监控的功能,经过考虑,觉得选择spring ... -
POI兼容读取Excel2003和Excel2007
2012-06-29 16:00 9399import java.io.File; import ... -
登录验证过滤器Filter
2012-06-01 14:30 1549import java.io.IOException; ... -
hibernate一对多自身关联
2011-12-31 13:24 1397hibernate一对多自身关联配置,注意cascade=&q ... -
java Web常用基本操作代码
2011-12-30 10:23 34041.Struts2中文件保存 //设置文件的三个属性,并 ... -
Eclipse或MyEclipse中如何恢复已删除文件(转)
2011-12-24 18:44 1457今天在MyEclipse鼠标点得太快,误删了一个花了两天才写好 ...
相关推荐
Hibernate一对多双向自身关联demo代码
这里包含了hibernate多对一单向关联关系实现源码,希望对你有用。
Hibernate 多对一外键单向关联 Hibernate 多对一连接表单向关联 Hibernate 多对多单向关联 Hibernate 一对一外键双向关联 Hibernate 一对一主键双向关联 Hibernate 一对一连接表双向关联 Hibernate 一对多外键双向...
NULL 博文链接:https://1028826685.iteye.com/blog/1536060
包含《多对多双向关联映射》《多对一单向关联映射》《多对一双向关联映射》《一对多单向关联映射》等文档,并有图解及例子,非常适合新手学习,尤其是刚刚接触hibernate,对映射关系不清楚的。。。。
多对多双向关联 <br>注意映射规则: <set name="roles" table="t_user_role"><br> <key column="userid"/><br> <many-to-many class="com.bjsxt.hibernate.Role" column="roleid"/> </set><br> table...
Hibernate多对多关联添加及查询示例
hibernate一对多双项自身关联关系示例 带数据库ddl
Hibernate映射一对多关联关系
Hibernate 一对多 外键 单向关联,有例子。
hibernate一对一主键关联代码实现
hibernate实现多对多关联关系源码
是用hibernate实现一对多的关联对初学javaee有一定的帮助希望大家努力学习呀
在hibernate中,通常配置对象关系映射关系有两种,一种是基于xml的方式,另一种是基于annotation的注解方式,熟话说,萝卜青菜,可有所爱,每个人都有自己喜欢的配置方式,这个是xml配置的例子
NULL 博文链接:https://chaoyi.iteye.com/blog/2148992
这个是针对初学Hibernate一对多主键关联映射的源代码 ,希望对初学者有所帮助,开发环境是MyEclipse7.5和HIbernate3.2
hibernate关联映射注解多对多单向关联、
这个例子会让你很快明白hibernate多对多的原理以及所涉及的程序源码,相信你会有很大的感触!
Hibernate多对多关联关系demo
hibernate双向多对多关联映射(注解版)