创建论坛中的实体类

本文介绍了创建论坛的实体类,如版块、栏目、贴子和回复,重点在于处理实体类之间的关系。在设计中,利用ManyToOne关系避免了大量一对多关系可能导致的性能问题。文中通过代码示例展示了如何在Hibernate中进行双向和单向关系的注解,强调了mappedBy的使用,以实现数据表间的正确关联。
摘要由CSDN通过智能技术生成

 主要是根据设想的创建好版块/栏目/贴子/回复等类,和用户类一样的,实际上都是数据类,没有业务方法.

 

在这些实体类的设计过程中,主要就是处理好类与类之间的关系,在设计中,较多地用到了ManyToOne关系,考虑到,一个栏目会有成千上万条贴子,所以栏目和贴子之间并不设一对多关系.同样地,贴子和回复之间也是只设单向的ManyToOne.

 

对关系的注解还不是很了解,目前只是简单的使用.

 

在测试过程中发现,如果OneToMany没用设置mappedBy,则使用连接表方式连接,对于单向的OneToMany关系使用连接表方式(会产生一个由主表ID和从表ID两个字段组成的连接表)连接是hibernate所推荐的.在这个应用中,对栏目和版块之间,设置了一对多和多对一的双向连接,在从表中增加主表ID字段就可以了.因此应设好mappedBy,它的值就是N的一端引用1的一端的关联实体的那个属性.这样说起来很别扭,看一下原码就可以了.

 

package bbs.domain.bean;

import java.io.Serializable;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.OneToMany;

import org.hibernate.annotations.GenericGenerator;
@Entity
public class Board   implements Serializable{

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值