/*
* Copyright 2008 [rapid-framework], Inc. All rights reserved.
* Website: http://www.rapid-framework.org.cn
*/
package cn.org.rapid_framework.util.fortest;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Transient;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.hibernate.annotations.GenericGenerator;
/**
* @author badqiu email:badqiu(a)gmail.com
* @version 1.0
* @since 1.0
*/
@Entity
@Table(name = "role")
public class Role {
//alias
public static final String TABLE_ALIAS = "Role";
public static final String ALIAS_ROLE_ID = "roleId";
public static final String ALIAS_ROLE_NAME = "roleName";
public static final String ALIAS_RESOURCE_ID = "resourceId";
//date formats
//columns START
private java.lang.Long roleId;
private java.lang.String roleName;
private java.lang.Long resourceId;
//columns END
public Role(){
}
public Role(
java.lang.Long roleId
){
this.roleId = roleId;
}
public void setRoleId(java.lang.Long value) {
this.roleId = value;
}
@Id @GeneratedValue(generator="custom-id")
@GenericGenerator(name="custom-id", strategy = "native")
@Column(name = "role_id", unique = true, nullable = false, insertable = true, updatable = true, length = 20)
public java.lang.Long getRoleId() {
return this.roleId;
}
@Column(name = "role_name", unique = false, nullable = true, insertable = true, updatable = true, length = 50)
public java.lang.String getRoleName() {
return this.roleName;
}
public void setRoleName(java.lang.String value) {
this.roleName = value;
}
@Column(name = "resource_id", unique = false, nullable = true, insertable = true, updatable = true, length = 20)
public java.lang.Long getResourceId() {
return this.resourceId;
}
public void setResourceId(java.lang.Long value) {
this.resourceId = value;
}
private Resource resource;
public void setResource(Resource resource){
this.resource = resource;
}
@ManyToOne(cascade = {}, fetch = FetchType.LAZY)
@JoinColumn(name = "resource_id",nullable = false, insertable = false, updatable = false)
public Resource getResource() {
return resource;
}
@Transient
public String getJava() {
return "java from Role.java";
}
@Transient
public String getReadonly() {
return "Readonly from Role.java";
}
@Transient
public void setWriteonly(String s) {
System.out.println("Role.setWriteonly() from Role.java,str:"+s);
}
public String toString() {
return new ToStringBuilder(this)
.append("RoleId",getRoleId())
.append("RoleName",getRoleName())
.append("ResourceId",getResourceId())
.toString();
}
public int hashCode() {
return new HashCodeBuilder()
.append(getRoleId())
.toHashCode();
}
public boolean equals(Object obj) {
if(obj instanceof Role == false) return false;
if(this == obj) return true;
Role other = (Role)obj;
return new EqualsBuilder()
.append(getRoleId(),other.getRoleId())
.isEquals();
}
}