hibernate注解实现set集合排序

package com.dc.product.entity.res;

// Generated 2014-11-28 16:53:22 by Hibernate Tools 3.4.0.CR1

import java.math.BigDecimal;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OrderBy;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.validator.Length;
import org.hibernate.validator.NotNull;

/**
 * ResourceGroupDef generated by hbm2java
 */
@Entity
@Table(name = "T_RES_RESOURCEGROUPDEF", schema = "PROD")
public class ResourceGroupDef implements java.io.Serializable {

	private String resourceGroup;
	private ResourceGroupDef resourceGroupDef;
	private ResourceClass resourceClass;
	private String groupName;
	private String groupAttr;
	private BigDecimal groupLevel;
	private BigDecimal displayOrder;
	private String modifyStaff;
	private Date modifyDate;
	private String remark;
	private Set<ResourceGroupDef> resourceGroupDefs = new HashSet<ResourceGroupDef>(
			0);
	private Set<ResourceBaseInfo> resourceBaseInfos = new HashSet<ResourceBaseInfo>(
			0);

	public ResourceGroupDef() {
	}

	public ResourceGroupDef(String resourceGroup, String groupName,
			String groupAttr, BigDecimal groupLevel, BigDecimal displayOrder) {
		this.resourceGroup = resourceGroup;
		this.groupName = groupName;
		this.groupAttr = groupAttr;
		this.groupLevel = groupLevel;
		this.displayOrder = displayOrder;
	}

	public ResourceGroupDef(String resourceGroup,
			ResourceGroupDef resourceGroupDef, ResourceClass resourceClass,
			String groupName, String groupAttr, BigDecimal groupLevel,
			BigDecimal displayOrder, String modifyStaff, Date modifyDate,
			String remark, Set<ResourceGroupDef> resourceGroupDefs,
			Set<ResourceBaseInfo> resourceBaseInfos) {
		this.resourceGroup = resourceGroup;
		this.resourceGroupDef = resourceGroupDef;
		this.resourceClass = resourceClass;
		this.groupName = groupName;
		this.groupAttr = groupAttr;
		this.groupLevel = groupLevel;
		this.displayOrder = displayOrder;
		this.modifyStaff = modifyStaff;
		this.modifyDate = modifyDate;
		this.remark = remark;
		this.resourceGroupDefs = resourceGroupDefs;
		this.resourceBaseInfos = resourceBaseInfos;
	}

	@Id
	@Column(name = "RESOURCE_GROUP", unique = true, nullable = false, length = 15)
	@NotNull
	@Length(max = 15)
	public String getResourceGroup() {
		return this.resourceGroup;
	}

	public void setResourceGroup(String resourceGroup) {
		this.resourceGroup = resourceGroup;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "UP_RESOURCE_GROUP")
	public ResourceGroupDef getResourceGroupDef() {
		return this.resourceGroupDef;
	}

	public void setResourceGroupDef(ResourceGroupDef resourceGroupDef) {
		this.resourceGroupDef = resourceGroupDef;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "RESOURCE_CLASS")
	public ResourceClass getResourceClass() {
		return this.resourceClass;
	}

	public void setResourceClass(ResourceClass resourceClass) {
		this.resourceClass = resourceClass;
	}

	@Column(name = "GROUP_NAME", nullable = false, length = 128)
	@NotNull
	@Length(max = 128)
	public String getGroupName() {
		return this.groupName;
	}

	public void setGroupName(String groupName) {
		this.groupName = groupName;
	}

	@Column(name = "GROUP_ATTR", length = 2)
	@NotNull
	@Length(max = 2)
	public String getGroupAttr() {
		return this.groupAttr;
	}

	public void setGroupAttr(String groupAttr) {
		this.groupAttr = groupAttr;
	}

	@Column(name = "GROUP_LEVEL", nullable = false, precision = 22, scale = 0)
	@NotNull
	public BigDecimal getGroupLevel() {
		return this.groupLevel;
	}

	public void setGroupLevel(BigDecimal groupLevel) {
		this.groupLevel = groupLevel;
	}

	@Column(name = "DISPLAY_ORDER", nullable = false, precision = 22, scale = 0)
	@NotNull
	public BigDecimal getDisplayOrder() {
		return this.displayOrder;
	}

	public void setDisplayOrder(BigDecimal displayOrder) {
		this.displayOrder = displayOrder;
	}

	@Column(name = "MODIFY_STAFF", length = 15)
	@Length(max = 15)
	public String getModifyStaff() {
		return this.modifyStaff;
	}

	public void setModifyStaff(String modifyStaff) {
		this.modifyStaff = modifyStaff;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "MODIFY_DATE", length = 7)
	public Date getModifyDate() {
		return this.modifyDate;
	}

	public void setModifyDate(Date modifyDate) {
		this.modifyDate = modifyDate;
	}

	@Column(name = "REMARK", length = 128)
	@Length(max = 128)
	public String getRemark() {
		return this.remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "resourceGroupDef")
	@OrderBy("displayOrder")
	public Set<ResourceGroupDef> getResourceGroupDefs() {
		return this.resourceGroupDefs;
	}

	public void setResourceGroupDefs(Set<ResourceGroupDef> resourceGroupDefs) {
		this.resourceGroupDefs = resourceGroupDefs;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "resourceGroupDef")
	public Set<ResourceBaseInfo> getResourceBaseInfos() {
		return this.resourceBaseInfos;
	}

	public void setResourceBaseInfos(Set<ResourceBaseInfo> resourceBaseInfos) {
		this.resourceBaseInfos = resourceBaseInfos;
	}

}

核心的部分:

@OneToMany(fetch = FetchType.LAZY, mappedBy = "resourceGroupDef")
	@OrderBy("displayOrder")
	public Set<ResourceGroupDef> getResourceGroupDefs() {
		return this.resourceGroupDefs;
	}

时间: 2024-10-18 21:23:01

hibernate注解实现set集合排序的相关文章

SHOP++ 中Hibernate 注解 用法

最近接触到一款JAVA开源软件(shop++)这是一款电商软件.然后看了这款软件的源代码,发现真的很强大.框架采用的是spring mvc + hibernate + freemarker ,代码结构层次分明,代码封装和重用性也很高.非常适合二次开发.其次重点说说hibernate 注解吧 数据库表采用的是hibernate注解映射的方式.然后略微研究了下,分享一下自己的见解. @Entity说明此类是一个实体映射 @Tabletable用来定义entity主表的name,cataloh,sch

hibernate 注解annotation

转自jpa&hibernate注解 物理连接:http://www.blogjava.net/oxidy/archive/2013/06/06/400266.html @Entity(name="EntityName") 必须,name为可选,对应数据库中一的个表 2.@Table(name="",catalog="",schema="") 可选,通常和@Entity配合使用,只能标注在实体的class定义处,表示实体

hibernate注解

慕课网:http://www.imooc.com/learn/524 一.类级别注解 简介 使用注解的目的:为了简化繁琐的ORM映射文件(*.hbm)的配置 JPA(Java Persistence API)与hibernate的关系:JPA是标准接口,hibernate是实现(hibernate的功能是jpa的超集,功能更强大) hibernate如何实现与JPA的关系:通过hibernate-annotation.hibernate-entitymanager.hibernate-core三

Hibernate注解方式开发实体类

Hibernate注解 1.@Entity(name="EntityName") 必须,name为可选,对应数据库中一的个表 2.@Table(name="",catalog="",schema="") 可选,通常和@Entity配合使用,只能标注在实体的class定义处,表示实体对应的数据库表的信息 name:可选,表示表的名称.默认地,表名和实体名称一致,只有在不一致的情况下才需要指定表名 catalog:可选,表示Cat

(转)Hibernate注解使用以及Spring整合

原文转自:http://wanqiufeng.blog.51cto.com/409430/484739 (1)简介:在过去几年里,Hibernate不断发展,几乎成为Java数据库持久性的事实标准.它非常强大.灵活,而且具备了优异的性能.在本文中,我们将了解如何使用Java 5 注释来简化Hibernate代码,并使持久层的编码过程变得更为轻松.传统上,Hibernate的配置依赖于外部 XML 文件:数据库映射被定义为一组 XML 映射文件,并且在启动时进行加载.    在最近发布的几个Hib

关于使用hibernate注解总结

首先,我们先了解一下什么是hibernate注解: Hibernate提供了Hibernate Annotations扩展包,它可以替代复杂的*hbm.xml,从而使得hibernate程序的开发大大简化. 带注解的持久类也是普通POJO,它们只是具备了持久性注解的普通POJO 事实上,使用注解时我们可以保持字段的持久性(注解写在成员变量上) 也可以保持属性(注解写在getter方法上)的持久性. 接下来,我们看一下hibernate常用的注解有哪些以及如何使用 @Entity--注释声明该类为

Hibernate学习一:Hibernate注解CascadeType

http://zy19982004.iteye.com/blog/1721846 ———————————————————————————————————————————————————————— Hibernate学习一:Hibernate注解CascadeType 博客分类: Hibernate hibernate 一.概念 现有一场景:一个管理员可以管理多个网吧,一个网吧可以被多个管理员管理.从中抽象出一个多对多的例子user-bar. 主控方user:多对多里面里面会有第三张表user_b

Java-集合--Java集合排序

Java集合排序 前几天在工作的当中遇到对List<Map<String,String>>这样的数据结构按照Map<String,String>中的某个字段排序, 具体的实现为: <span style="font-size:18px;">public void sortList(List<Map<String, String>> list, final String field) { Collections.so

(十) 使用Hibernate 注解

Hibernate里有两种注解 : Hibernate 注解 JPA注解 主键生成机制 : http://www.cnblogs.com/ph123/p/5692194.html 案例一:   用注解对非复合主键的表生成配置文件 package bean; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.p