我正在使用Play开发应用程序!框架2.1.3,使用EBean作为模型层我希望能够执行部分对象查询,并且当我序列化为JSON以准备将结果发送回用户时,不能按需加载未选择的属性。< / p>
我尝试将AutoFetch设置为false,我还尝试在序列化为JSON之前结束事务(我最终得到一个事务处于非活动状态错误)我还在我的模型类上添加了注释@Lazy(false)
在同一个音符上,我也有一对多关联,我想查询它的前三行,我使用new FetchConfig().queryFirst(2)
但我想由于同样的延迟加载问题,我结束了得到整个相关的关联行。
查看手册,我读了这篇文章(EBean Partial Objects):
部分对象将在需要时延迟加载其余数据 你获得或设置了它没有的财产。
有没有解决方法,我尝试的任何东西似乎都无法运作!
答案 0 :(得分:1)
你有两种选择。
选项1)使用Ebean内置的JSON支持,使用Jackson核心。 Ebean的JsonContext提供了许多编写器选项。
使用PathProperties的示例,该示例应用于查询和JSON。
x < y
选项2)是版本6.2.2上的新功能,您可以在查询中设置setDisableLazyLoading(true)。
答案 1 :(得分:0)
我已经使用Statements
和ResultSets
使用标准JDBC接口解决了这个问题,我不需要延迟加载查询。
作为附注,事实证明,在Scala的情况下,直接字段访问不使用延迟加载,但不幸的是,它不是我用于我的应用程序的语言。