hibernate注解配置一对多,分类表

hibernate注解配置一对多,分类表,使用parentId指向Id关联。查询的结果为树型。
折腾一天,一直失败。差点把自己玩死,最主要一点就是:parentId为外键,需要先手动在数据库增加一条记录,作为root,然后才能使用hibernate做CRUD操作。

@javax.persistence.Entity
@javax.persistence.Table(name = "category")
public class Category {
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="Id")	
	private int id;
	@Column(name="ParentId",nullable=true)
	private int parentId;
	private String Name;
	@Column(name="Display")
	private String text;
	private String Remark;
	@Column(columnDefinition="bit")
	private boolean Deleted;
	@Column(nullable=true,insertable=false,updatable=false)
	private int AddUserId;
	private Date AddDate;
	@Column(nullable=true,insertable=false,updatable=false)
	private int ModUserId;
	private Date ModDate;

	@OneToMany()
	@JoinColumn(name="id", referencedColumnName="parentId")
	private Set<Category> children;
	
	@ManyToOne(targetEntity=SysUser.class)
	@JoinColumn(name="AddUserId")
	private SysUser AddUser;

	@ManyToOne(targetEntity=SysUser.class)
	@JoinColumn(name="ModUserId")
	private SysUser ModUser;
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值