现在的位置: 首页 > 综合 > 正文

hibernate实体属性为布尔类型时命名应注意的地方

2017年04月16日 ⁄ 综合 ⁄ 共 444字 ⁄ 字号 评论关闭

一个对象中的属性有布尔类型时,命名的时候尽量不要把前缀定为is,因为在使用HQL查询的时候,属性必须去掉is前缀,然后小写首字母才能查询出结果,否则查询不到任何数据;

例如,有一个User对象,里面有一个标识这个用户是否激活的属性,然后将其命名为isActivated,在查询的时候,根据HQL的规则,使用 user.isActivated = true去查询,将得到错误的提示:isActivated属性不存在;查看数据库,发现这个属性映射为了activated,然后修改语句测试,user.activated = true, 此时才能得到正确的数据,这么改了,感觉特别别扭;于是猜测,难道让hibernate强制映射为is_activated可以么?
  映射好之后,还是采用 user.isActivated = true  查询,还是报那个错误,于是能得出结论,跟hibernate映射成什么字段无关,跟这个对象Bean有关 ,此时只能将属性名字改成activated ,然后即可符合所有规范。   此处应该注意!

抱歉!评论已关闭.