@Transient(Hibernate的一个注释 )

@Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性.
如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient ,否则,ORM框架默认其注解为@Basic
       示例:
       //根据birth计算出age属性
       @Transient
       public int getAge() {
       return getYear(new Date()) - getYear(birth);
       }

这个东东还是挺有用的。


我在 jpa 中 模型中使用了 @Transient 标记,让某个变量不要持久化到数据表中。示例如下: 

@Entity 
@Table(name = "options") 
public class Options implements java.io.Serializable { 

private static final long serialVersionUID = 1L; 

private Integer id; 
private String type; 
private String name; 
private String value; 

private Integer index; //在列表中的顺序 


public Options() { 



@Id 
@Column(name = "id", unique = true, nullable = false) 
@GeneratedValue(strategy=GenerationType.IDENTITY) 
public Integer getId() { 
return this.id; 


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


@Column(name = "type", length = 100) 
public String getType() { 
return this.type; 


public void setType(String type) { 
this.type = type; 


@Column(name = "name", length = 100) 
public String getName() { 
return this.name; 


public void setName(String name) { 
this.name = name; 


@Column(name = "value", length = 100) 
public String getValue() { 
return this.value; 


public void setValue(String value) { 
this.value = value; 



@Transient //非持久化 
public Integer getIndex() { 
return index; 



public void setIndex(Integer index) { 
this.index = index; 





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值