最近做一个好友系统,跟开心网的差不多
就是 说我登陆系统后,可以添加其他人为我的好友,并且还能查询到好友的好友,也就是说我可以有多个好友,并且我的某一个好友也可以是其他人的好友,我自己设计了一个User类
import java.util.Set;
public class User {
private int id;
private String username ;
private Set parent;
private Set children;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Set getParent() {
return parent;
}
public void setParent(Set parent) {
this.parent = parent;
}
public Set getChildren() {
return children;
}
public void setChildren(Set children) {
this.children = children;
}
映射成多对多的关系,映射文件如下
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="***">
<class name="User"
table="t_user">
<id name="id">
<generator class="native" />
</id>
<property name="username"/>
<set name="parent" table="t_friends">
<key column="cid"></key>
<many-to-many class="User" column="pid"></many-to-many>
</set>
<set name="children" table="t_friends">
<key column="pid"></key>
<many-to-many class="User" column="cid"></many-to-many>
</set>
</class>
</hibernate-mapping>
自己用juint测试可以没有问题,现在请大家帮忙指点下,我这样设计有没有问题,或者说可以有其他更加合适的办法来解决这个需求,谢谢
分享到:
相关推荐
在IT行业中,问题请教工程是一项常见且至关重要的任务。它涉及到技术咨询、故障排查、解决方案设计等多个环节,是提升技术水平和团队协作效率的关键。在这个场景下,"问题请教工程"可能指的是开发者或工程师在遇到...
这一问题在IT领域尤其是系统管理和监控方面极为关键,因为它有助于优化资源分配、性能调优以及故障排查。 ### 实时获取系统进程CPU占用率的方法 在深入探讨之前,我们先理解几个基础概念: - **进程**:计算机系统...
问题请教高手问题请教高手
西门子数控系统840D是一种高级的数控系统,广泛应用于制造业和自动化领域。该系统具有高性能、可靠性强、灵活性高等特点,然而在实际应用中,仍然会遇到一些问题和故障。本文总结了西门子数控系统840D常见的问题和...
请教C语言问题
2. 教师工作量数据处理:能够计算教师的教学工作量,如单个教学任务的总课时、一个学期的总工作量,并提供教师数据查询和综合信息输出功能。 三、研究方法 1. 调查法:对现有的教师档案管理系统进行分析,了解其...
在工业自动化领域,输送控制系统是至关重要的部分,它涉及到将物料从一个位置移动到另一个位置的整个流程。而输送控制系统的调试则是在系统安装完毕之后,确保其能够按照设计要求正常工作的关键步骤。本文档以...
> 一个文件存储系统,有12个直接索引,1个1级索引,1个2级索引,1个3级索引,文件的族大小是8KB,索引指针占64bit。问该文件系统最大可以存储的文件的大小是多少? **详细解析:** 要计算文件系统能够存储的最大...
该系统旨在提供一个便捷、安全、跨平台的平台,供学校师生访问、搜索、下载和交互教学资源。 系统设计遵循了软件工程的流程,包括需求分析、概要设计、详细设计、编码、测试和维护。在需求分析阶段,重点考虑了用户...
本系统为中小型超市销售管理系统,因此系统需求分析阶段主要采取实地采访、调查学校周边超市,网上查找相关资料,请教老师等多种方式,尤其是仔细思考、分析超市购物发票。这一阶段大概了解了目前超市销售管理的现状...
数学,这个古老的学科,一直以来都是人类智慧的结晶。...每一个问题都是一个引人入胜的探索之旅,激励着数学家们不断前进,追求新的发现和理解。无论是大胆的猜想还是深思熟虑的证明,数学的精神始终在于挑战和创新。
在运维领域,日常的工作涉及到对系统的监控、故障排查和维护,确保服务的稳定性和高效性。以下是对给定内容的详细解释: 1. 故障与异常:最常见的故障包括请求超时、应用假死、数据库超时、磁盘空间不足、网络不通...
课程内容首先通过一个情景导入的方式激发学生的兴趣,老师以自己即将面临听课的紧张心情为例,向学生们求教如何缓解紧张情绪,从而引入到请教的主题。随后,通过组织闯关游戏的方式,让学生在实践中学习如何向他人...
【基于Java的人事管理系统】是一个使用Java编程语言开发的,旨在管理公司员工信息的应用程序。系统分为两个主要用户角色:系统管理员和一般用户。管理员拥有更广泛的权限,包括添加、修改、查询和删除员工信息,以及...
你提供的压缩包文件"liegie.m"可能是一个MATLAB脚本,MATLAB是一个广泛用于数值计算的环境,但是否可以直接用于能带结构计算取决于脚本的具体内容。如果你需要进行能带计算,可能需要熟悉上述步骤,并确保MATLAB脚本...
在“山东大学软件学院操作系统练习题及答案”这个资源中,我们可以找到一系列针对操作系统理论与实践的训练题目,这对于学习者深入理解和掌握操作系统原理至关重要。 练习题通常涵盖以下几个关键领域: 1. **进程...
本文的贡献主要在于提供了一个基于SSM框架的个性化商铺系统的设计与实现,系统的主要功能包括首页、个人中心、用户管理、商家管理、店铺类别管理、商品类别管理、店铺信息管理、商品信息管理、系统管理、订单管理等...
在这个过程中,引导学生注意请教的技巧,如清晰地表达问题,向别人表示感谢,以及即使无法解答也要礼貌回应。 通过游戏,学生可以实践请教的步骤和注意事项,如: 1. 清楚地陈述需要帮助解决的问题。 2. 无论结果...
"山东大学计算机系统原理"资料集合,显然是一份针对该课程的学习资料,由阿戴整理,旨在帮助学生备考并深入理解相关知识。 计算机系统原理主要包括以下几个关键部分: 1. 计算机概述:这部分介绍了计算机的基本...
如果作者见到了,请与我联系下,我想请教一下您关于这个软件的一些事情,谢谢! 这是个能更改自己QQ好友头像的软件(本地的),当然,如果你把软件发给朋友,在他不知道的情况下,他点击了某个图片,也会更改他的...