`
huazi221
  • 浏览: 960 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

请教关于好友系统的一个问题 类似于开心网的好友系统

 
阅读更多
最近做一个好友系统,跟开心网的差不多
就是 说我登陆系统后,可以添加其他人为我的好友,并且还能查询到好友的好友,也就是说我可以有多个好友,并且我的某一个好友也可以是其他人的好友,我自己设计了一个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行业中,问题请教工程是一项常见且至关重要的任务。它涉及到技术咨询、故障排查、解决方案设计等多个环节,是提升技术水平和团队协作效率的关键。在这个场景下,"问题请教工程"可能指的是开发者或工程师在遇到...

    如何实时获取系统每个进程占用的CPU?--讨论及请教

    这一问题在IT领域尤其是系统管理和监控方面极为关键,因为它有助于优化资源分配、性能调优以及故障排查。 ### 实时获取系统进程CPU占用率的方法 在深入探讨之前,我们先理解几个基础概念: - **进程**:计算机系统...

    问题请教高手

    问题请教高手问题请教高手

    西门子数控系统840D_常见问题汇总.doc

    西门子数控系统840D是一种高级的数控系统,广泛应用于制造业和自动化领域。该系统具有高性能、可靠性强、灵活性高等特点,然而在实际应用中,仍然会遇到一些问题和故障。本文总结了西门子数控系统840D常见的问题和...

    请教C语言问题

    请教C语言问题

    基于java的教师档案管理系统-开题报告答辩ppt

    2. 教师工作量数据处理:能够计算教师的教学工作量,如单个教学任务的总课时、一个学期的总工作量,并提供教师数据查询和综合信息输出功能。 三、研究方法 1. 调查法:对现有的教师档案管理系统进行分析,了解其...

    输送控制系统调试——望闻问切

    在工业自动化领域,输送控制系统是至关重要的部分,它涉及到将物料从一个位置移动到另一个位置的整个流程。而输送控制系统的调试则是在系统安装完毕之后,确保其能够按照设计要求正常工作的关键步骤。本文档以...

    [合集] 请教两个网原问题.docx

    &gt; 一个文件存储系统,有12个直接索引,1个1级索引,1个2级索引,1个3级索引,文件的族大小是8KB,索引指针占64bit。问该文件系统最大可以存储的文件的大小是多少? **详细解析:** 要计算文件系统能够存储的最大...

    基于WEB的教学资源管理系统论文

    该系统旨在提供一个便捷、安全、跨平台的平台,供学校师生访问、搜索、下载和交互教学资源。 系统设计遵循了软件工程的流程,包括需求分析、概要设计、详细设计、编码、测试和维护。在需求分析阶段,重点考虑了用户...

    小型超市零售管理系统数据库系统设计

    本系统为中小型超市销售管理系统,因此系统需求分析阶段主要采取实地采访、调查学校周边超市,网上查找相关资料,请教老师等多种方式,尤其是仔细思考、分析超市购物发票。这一阶段大概了解了目前超市销售管理的现状...

    PS学习好友(PS学习的好帮手)

    总的来说,“PS学习好友”是一个全面支持PS学习的平台,结合了教学、实践和交流,为用户提供了一个全方位提升Photoshop技能的环境。通过这个工具,用户不仅能掌握基本的图像处理技巧,还能探索更深层次的创意应用,...

    请教大佬的运维问题re1

    在运维领域,日常的工作涉及到对系统的监控、故障排查和维护,确保服务的稳定性和高效性。以下是对给定内容的详细解释: 1. 故障与异常:最常见的故障包括请求超时、应用假死、数据库超时、磁盘空间不足、网络不通...

    部编三年级上册语文口语交际:请教.pdf

    课程内容首先通过一个情景导入的方式激发学生的兴趣,老师以自己即将面临听课的紧张心情为例,向学生们求教如何缓解紧张情绪,从而引入到请教的主题。随后,通过组织闯关游戏的方式,让学生在实践中学习如何向他人...

    基于java人事管理系统

    【基于Java的人事管理系统】是一个使用Java编程语言开发的,旨在管理公司员工信息的应用程序。系统分为两个主要用户角色:系统管理员和一般用户。管理员拥有更广泛的权限,包括添加、修改、查询和删除员工信息,以及...

    liegie_文件有点问题请教一下_

    你提供的压缩包文件"liegie.m"可能是一个MATLAB脚本,MATLAB是一个广泛用于数值计算的环境,但是否可以直接用于能带结构计算取决于脚本的具体内容。如果你需要进行能带计算,可能需要熟悉上述步骤,并确保MATLAB脚本...

    山东大学软件学院操作系统练习题及答案

    在“山东大学软件学院操作系统练习题及答案”这个资源中,我们可以找到一系列针对操作系统理论与实践的训练题目,这对于学习者深入理解和掌握操作系统原理至关重要。 练习题通常涵盖以下几个关键领域: 1. **进程...

    答辩pptjava vue ssm mysql 023基于SSM的个性化商铺系统.ppt

    本文的贡献主要在于提供了一个基于SSM框架的个性化商铺系统的设计与实现,系统的主要功能包括首页、个人中心、用户管理、商家管理、店铺类别管理、商品类别管理、店铺信息管理、商品信息管理、系统管理、订单管理等...

    口语交际:请教.docx

    在这个过程中,引导学生注意请教的技巧,如清晰地表达问题,向别人表示感谢,以及即使无法解答也要礼貌回应。 通过游戏,学生可以实践请教的步骤和注意事项,如: 1. 清楚地陈述需要帮助解决的问题。 2. 无论结果...

    山东大学计算机系统原理

    "山东大学计算机系统原理"资料集合,显然是一份针对该课程的学习资料,由阿戴整理,旨在帮助学生备考并深入理解相关知识。 计算机系统原理主要包括以下几个关键部分: 1. 计算机概述:这部分介绍了计算机的基本...

    安卓软件,送你的礼物,可以更改QQ好友头像

    如果作者见到了,请与我联系下,我想请教一下您关于这个软件的一些事情,谢谢! 这是个能更改自己QQ好友头像的软件(本地的),当然,如果你把软件发给朋友,在他不知道的情况下,他点击了某个图片,也会更改他的...

Global site tag (gtag.js) - Google Analytics