使用hibernate注解,如何标识一个属性非数据库的字段。
就是说一个实体类对应了一张表,但是这个实体类中有一个属性不对应表中的字段,这个怎么办???
就是说一个实体类对应了一张表,但是这个实体类中有一个属性不对应表中的字段,这个怎么办???
解决方案 »
- SocketChannel和Socket有什么区别
- 用SSH怎样实现论坛发帖功能???
- 求一radio 的问题
- struts出现 java.lang.ClassCastException 帮忙
- java里有什么好的开源安全框架?
- 使用Struts的logic标签,遍历List时使用indeId来自动输出序号并加一
- 各位高手能否给出一个完整的简单例子呢?谢谢
- 初学者:为什么我做的用jdbc连接sqlserver总是报加载驱动程序错误,急急急
- 小问题--轻松拿高分--EJB可以直接调用MSSQL Server的存储过程吗?
- 一个时间的问题?
- could not resolve property: UserID of: com.Bean.Products [from com.Bean.Products
- javascript的一个小问题
可选
@Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性.
如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则,ORM框架默认其注解为@Basic
示例:
//根据birth计算出age属性
@Transient
public int getAge() {
return getYear(new Date()) - getYear(birth);
}
/**
*
* @author tianyucheng
* @hibernate.class
* table="AD_HOME"
*
*/
@SuppressWarnings({ "unchecked", "serial" })
public class AdHome extends BaseObject implements Serializable, Comparable<AdHome> {
/**
* 深色字
*/
public static Long AD_TYPE_DARK = Long.valueOf(2);
/**
* 浅色字
*/
public static Long AD_TYPE_LIGHT = Long.valueOf(1);
/**
* adhomeCacheName(缓存名称)
*/
public static String ADHOME_CACHENAME="AdHome"; /** identifier field */
private Long adId; //广告id
private String adContent; //广告内容
private String adContentEncoded; //广告内容辅助字段
private Long adOrder; //广告序号
private Long adType; //广告字体类型(1浅色 2.深色)
/**
* @hibernate.id generator-class="sequence" type="java.lang.Long" column="ad_id"
* @hibernate.generator-param name="sequence" value="seq_adhome"
*
*/
public Long getAdId() {
return adId;
} public void setAdId(Long adId) {
this.adId = adId;
} /**
* @hibernate.property column="ad_content" length="1000" not-null="true"
*
*/
public String getAdContent() {
return adContent;
} public void setAdContent(String adContent) {
this.adContent = adContent;
} /**
* @hibernate.property column="ad_order" length="10" not-null="false"
*
*/
public Long getAdOrder() {
return adOrder;
} public void setAdOrder(Long adOrder) {
this.adOrder = adOrder;
}
/**
* @hibernate.property column="ad_type" length="2" not-null="false"
*
*/
public Long getAdType() {
return adType;
} public void setAdType(Long adType) {
this.adType = adType;
} @Override
public boolean equals(Object o) {
// TODO Auto-generated method stub
return false;
} @Override
public int hashCode() {
// TODO Auto-generated method stub
return 0;
} public int compareTo(AdHome o) {
if(this.getAdOrder() > o.getAdOrder()) {
return 1;
} else if(this.getAdOrder() < o.getAdOrder()) {
return -1;
}
return 0;
} public String getAdContentEncoded() {
if(adContent != null) {
this.adContentEncoded = this.adContent;
this.adContentEncoded = this.adContentEncoded.replaceAll("'", "\\\\'");
this.adContentEncoded = this.adContentEncoded.replaceAll("\r", "");
this.adContentEncoded = this.adContentEncoded.replaceAll("\n", "");
}
return adContentEncoded;
} public void setAdContentEncoded(String adContentEncoded) {
this.adContentEncoded = adContentEncoded;
}
}
/**
*
* @author tianyucheng
* @hibernate.class
* table="AD_HOME"
*
*/
@SuppressWarnings({ "unchecked", "serial" })
public class AdHome extends BaseObject implements Serializable, Comparable<AdHome> {
/**
* 深色字
*/
public static Long AD_TYPE_DARK = Long.valueOf(2);
/**
* 浅色字
*/
public static Long AD_TYPE_LIGHT = Long.valueOf(1);
/**
* adhomeCacheName(缓存名称)
*/
public static String ADHOME_CACHENAME="AdHome"; /** identifier field */
private Long adId; //广告id
private String adContent; //广告内容
private String adContentEncoded; //广告内容辅助字段
private Long adOrder; //广告序号
private Long adType; //广告字体类型(1浅色 2.深色)
/**
* @hibernate.id generator-class="sequence" type="java.lang.Long" column="ad_id"
* @hibernate.generator-param name="sequence" value="seq_adhome"
*
*/
public Long getAdId() {
return adId;
} public void setAdId(Long adId) {
this.adId = adId;
} /**
* @hibernate.property column="ad_content" length="1000" not-null="true"
*
*/
public String getAdContent() {
return adContent;
} public void setAdContent(String adContent) {
this.adContent = adContent;
} /**
* @hibernate.property column="ad_order" length="10" not-null="false"
*
*/
public Long getAdOrder() {
return adOrder;
} public void setAdOrder(Long adOrder) {
this.adOrder = adOrder;
}
/**
* @hibernate.property column="ad_type" length="2" not-null="false"
*
*/
public Long getAdType() {
return adType;
} public void setAdType(Long adType) {
this.adType = adType;
} @Override
public boolean equals(Object o) {
// TODO Auto-generated method stub
return false;
} @Override
public int hashCode() {
// TODO Auto-generated method stub
return 0;
}
}