RequestFactory:域对象/代理上的只读属性?

时间:2012-05-29 09:03:54

标签: gwt getter-setter requestfactory

我有Document实体具有只读(从客户端角度来看)属性modificationAuthor(我希望它仅在服务器端修改,它知道当前登录的用户)。 Document实体在代理和域对象中都没有modificationAuthor属性的setter。

问题是它不是一个简单的属性而是其他实体(User)所以当我调用modificationAuthor来获取{{}时,我需要将paths添加到requestFactory.find(id).with(paths).fire() {1}}实例。 (当我想从Document读取它时,modificationAuthor不为空。

但是在将它添加到路径并尝试持久化Document对象后,我得到了异常:Document。看起来即使对于设计为只读的属性,RF也需要setter。

目前是否有办法避免将setter添加到此类属性并能够读取并保留父对象?

1 个答案:

答案 0 :(得分:2)

这是issue 5952的副作用,它将(应该)在GWT 2.5中修复,将在一个月左右发布:RF错误地认为modificationAuthor属性已被修改(因为它无法将User实体与自身进行比较,所以它会向服务器发送操作以获取该属性,然后服务器尝试将属性值设置为给定实体(恰好是那个已经存在的那个。)

与此同时,我担心您必须添加一个虚拟设置器(它不需要实际分配属性值)到您的Document域对象。