@Transient
该注解可以实现上面功能,不在数据库存有数据,但是切能拿出该字段的值
eg:
// 获取本订单的总金额
@Transientpublic float getCountPrice() {
float countPrice = 0;
if (this.getCommodityParameter().size() > 0) {
for (CommodityParameter c : this.getCommodityParameter())
countPrice = countPrice + c.getGoodsNum()* c.getProduct().getBprice();
countPrice = countPrice + this.postPrice;
}
return countPrice;
}
//一下注解可以不再让程序员那么辛苦的添加一个action,然后又要去struts配置文件配置转发路径和包,命名空间,直接在要配置的action类上注解就可以
@ParentPackage(value="default")
@Namespace("/")
@Action(value = "panicBuyingAction",results={
@Result(name = "panicBuyingList", location = "/page/panicBuying _detail.jsp")
})
public class searchAction extends BaseAction {
.......
}
//在有一些情况,如果你在建model 的时候,通过映射,来让hibernate自动建表,有时会不小心表名或者字段名和数据库关键字冲突,那么就建议你用这种方法:
@Column(name="t_description")
//在注解一对多,多对多的时候,因为保证数据唯一性,会采用Set,而不用list,但是set在直接读取数据的时候不能获取排序,这种情况下,你可以试下
@ManyToMany
@OrderBy(value = "id ASC")
public Set<Pattern> getPatterns() {
return patterns;
}
//旧时代的id自增长生成策略已经不符合现代,安全要高,更唯一的时代了,下面,带给你,uuid注解id生成策略
@Id
@GenericGenerator(name="systemUUID",strategy="uuid")
@GeneratedValue(generator="systemUUID")
public String getId() {
return id;
}