GroupResource - genscript-lz/manufacturing GitHub Wiki

package com.genscript.gsscm.manufacture.entity;

import java.io.Serializable; import java.math.BigDecimal;

import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.OneToOne; import javax.persistence.Table;

import org.apache.commons.lang.builder.ToStringBuilder;

import com.genscript.core.orm.hibernate.BaseEntity;

/**

  • Resource.
  • cascade表示级联操作
  • CascadeType.MERGE级联更新:若items属性修改了那么order对象保存时同时修改items里的对象。对应EntityManager的merge方法
  • CascadeType.PERSIST级联刷新:获取order对象里也同时也重新获取最新的items时的对象。对应EntityManager的refresh(object)方法有效。即会重新查询数据库里的最新数据
  • CascadeType.REFRESH级联保存:对order对象保存时也对items里的对象也会保存。对应EntityManager的presist方法
  • CascadeType.REMOVE级联删除:对order对象删除也对items里的对象也会删除。对应EntityManager的remove方法
  • FetchType.LAZY表示懒加载。对于xxxtoMany时即获得多的一方fetch的默认值是FetchType.LAZY懒加载。对于xxxtoOne时即获得一的一方fetch的默认值是FetchType.EAGER立即加载
  • @author Wangsf. */

@Entity @Table(name = "work_group_resources", catalog = "manufacturing") public class GroupResource extends BaseEntity implements Serializable {

/**
 * 
 */
private static final long serialVersionUID = 2016643701390627231L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@JoinColumn(name = "resourceId", referencedColumnName = "resourceId")
@OneToOne(cascade = CascadeType.PERSIST, fetch=FetchType.LAZY)
private Resource resource;
@Column(name="work_group_id")
private Integer groupId;
private BigDecimal quantity;

@Override
public String toString() {
	return ToStringBuilder.reflectionToString(this);
}

public Integer getId() {
	return id;
}

public void setId(Integer id) {
	this.id = id;
}

public Resource getResource() {
	return resource;
}

public void setResource(Resource resource) {
	this.resource = resource;
}

public Integer getGroupId() {
	return groupId;
}

public void setGroupId(Integer groupId) {
	this.groupId = groupId;
}

public BigDecimal getQuantity() {
	return quantity;
}

public void setQuantity(BigDecimal quantity) {
	this.quantity = quantity;
}

}