浏览 2191 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-01-28
在项目中数据库中账单Bill一个字段是有多个订单id的以逗号分隔的字符串,DAO采用HQL查询出来之后,获取订单的id集合,本人开始认为hibernate从数据库加载到模型中,会调用setXXX()方法,在setXXX中进行相应的,字符串分隔,但是我的想法错误,使用Struts2.0 在页面OGNL获取获取不到分隔后订单id集合数据。本人甚为郁闷。甚至在debug模式下在setXXX打了断点,调试,果然不执行。没有方法,在Bill中添加一个方法,每次调用此方法获取集合,居然可以获取数据。本人不解。
在网上查看一下文档。 网上有人说: Hibernate 既可以访问Field也可以访问Property,访问Property是只是调用getXXX()、setXXX()方法,因此在from Customer where c.name=’Tom’ HQL中,name属性不需要存在,只要getName()存在就可以了。 hibernate从数据库加载数据到Model时不调用相应setXXX方法,仅仅调用相应的属性.难道在Model中private属性,使用反射强制访问了吗,也只有这种情况下,相应的setXXX方法不会执行,(这种通过反射强制赋值的手段可能在某些情况很使用) 难道真是这样吗?希望牛人指点,不要拍砖,更希望各位朋友交流心得。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-12-15
好像是这样:
注解标记在 field上就访问field 标记在 property上就访问 property |
|
返回顶楼 | |