研究对象: graniteds1.0
结论:还不能提供前端动态延时加载数据,其官方文档所说的“ lazy initialized ActionScript 3 beans (Entity Beans / Hibernate) ”,其实只是支持对象的 id 缓存到前端 as bean ,不能直接在调用实体的关联对象或关联集合时动态通过 ejb3 或 hibernate 查询得到其关联对象或集合。
现象: Person 对象与关联对象集合 contacts 配置了延时加载,在使用 person.contacts 时未能动态加载 contacts 数据,也不报错。
解决方案:配置 hibernate 或 ejb3 使用延时加载, as bean 同样配置 laziness 和使用 readExternal/writeExternal 方法来保持对象的一致,然后调用远程的方法,参数为此对象,然后再远程 java 方法里用此对象 .getOtherEntities() 来获取关联的对象或集合,然后返回客户端展现。
不知道各位有谁试过,hibernate 或 ejb3配置了延时加载,在flex客户端直接object.otherObjects能够动态延时加载查询得到数据的。