1

我可以使用休眠防止某些字符被持久化在数据库中吗?例如,如果我有一个类 Note,它将注释 id 和注释文本作为 2 个属性。我可以防止像FFFE这样的Unicode字符在数据库中持久存在吗?当用户输入像 FFFE 这样的字符时,它应该替换为 AAAA

4

1 回答 1

0

最简单的解决方案是配置 text由 property 访问的属性。然后在text属性的 getter 中,替换FFFEAAAA

@Entity
public class Note {

   private Integer id;
   private String text;

   @Id
   public Integer getId(){ }

   public void getText(){
       /**replace() is the function to replace `FFFE` with  `AAAA` ***/
       this.text = replace(inText);
       return  this.text;
   }
}

由于text属性是由 property 访问的,hibernate 将从它的 getter 中获取要保存在 DB 中的值。

于 2012-04-11T11:10:47.927 回答