Hibernat 的列转换表达式方式 博客分类: Hibernate HibernateSQL
程序员文章站
2024-02-04 22:30:16
...
Hibernate 允许你自定义一些sql 表达式来存取列,但这些用于简单的属性
@Entity class CreditCard { @Column(name="credit_card_num") @ColumnTransformer( read="decrypt(credit_card_num)", write="encrypt(?)") public String getCreditCardNumber() { return creditCardNumber; } public void setCreditCardNumber(String number) { this.creditCardNumber = number; } private String creditCardNumber; }
如果一个属性占用了好几列
@Entity class User { @Type(type="com.acme.type.CreditCardType") @Columns( { @Column(name="credit_card_num"), @Column(name="exp_date") } ) @ColumnTransformer( forColumn="credit_card_num", read="decrypt(credit_card_num)", write="encrypt(?)") public CreditCard getCreditCard() { return creditCard; } public void setCreditCard(CreditCard card) { this.creditCard = card; } private CreditCard creditCard; }