我有一个非常奇怪的问题,也许你们其中一个人可以解决一些问题 在上面。我很感激:)
我正在使用Objectify 1.1rc模块为Play开发一个应用程序!框架1.1。我有2个相关的对象,其相关部分是:
public class User extends ObjectifyModel<User> {
[...]
public List<Key<Theatre>> theatres;
[...]
}
public class Theatre extends ObjectifyModel<Theatre> {
[...]
}
一些背景知识:
目前我有两个我无法解决的问题,其中包括:
M:1关系未保存
我对User类的'theatres'关系有疑问。编辑时 通过CRUD类型User的对象,我可以看到多选控件将剧院实例与用户联系起来,当我点击它们中的一些(一个或多个)并保存对象时,关系不会被保存,使得无法通过CRUD界面链接对象。
如何让它发挥作用?
CRUD代码不是由一个应用程序访问,而是由另一个应用程序访问
Objectify模块(Showcase)中的示例应用程序允许我使用CRUD保存M:1关系。正如我之前提到的,我的应用程序和展示都指向同一个CRUD模块,因此它们应该使用完全相同的代码。通过Log输出调试我注意到的是我的应用程序使用CRUD,但示例应用程序使用所有代码到达某一点。
CRUD模块遍历'tag / form.html',找到一个类型为'relation'的字段(在我的代码和示例应用程序中),但是当调用标签'#{crud.relationField}'时,有些奇怪的事情发生了:我的应用程序进入CRUD模块中定义的标记。示例应用程序不访问该代码,不会触发添加到该标记的日志(在文件的任何位置)。
我在示例应用程序中搜索了任何替换标记,但我找不到。你可以猜到,它让他们疯狂,让我开始相信生活在我桌面上的绿色妖精(没有给我金币,该死的!)
任何人都知道为什么会这样?我可以找到示例应用程序正在执行的代码吗?找到它很可能会解决问题#1
非常感谢!
答案 0 :(得分:0)
好的,发现问题为#1。我有一个名为“getTheatres()”的方法(应该有另一个名字,是一个错误),这打破了CRUD。重命名方法解决问题#1。
我仍然没有发现为什么#2会发生,但我相信我会离开这个“在我的电脑中工作”的问题之一在我们的世界中如此常见......