0

在我的项目中,我遇到了一些模型问题。在控制器中,我调用模型内的对象(ManyToOne 关系),如下所示:

Logger.debug("my model %s", myModel.relObject);

这可以打印该 relObject 的 toString。我的 relObject 是这样定义的:

public class RelObject GenericModel{   
@Id 
@GeneratedValue(strategy= GenerationType.AUTO) 
@Column(name="My_ID")

public Long myId;    

@Column(name="MY_NAME",  length=24, nullable=false,  unique=false)
@Required
@MaxSize(value=24)
public String myName;   

public toString(){
    return myName;
}    
}

但是,如果我在该记录器下面编码:

Logger.debug("my model's id %s", myModel.relObject.myId);

它发送一个空值。这发生在我项目的许多模型中。关于为什么以及如何解决这个问题的任何想法?

4

1 回答 1

0

看来错在根本没有意义。看来 play Framework 的 Controller 类中存在错误。特别是在仅接收一个参数(A Future 对象)的 await 方法中。此方法用于尝试使用诸如 Promise 之类的 Future 对象以创建另一个 Thread 以便它最终不会阻塞整个应用程序。

如果我在项目中的任何地方使用此方法,它直到第二次在没有清理项目的情况下编译时才能正确编译,并导致模型出现奇怪的行为。

我将在堆栈溢出和 googlecode play 论坛中发布另一个主题,并将这些问题的链接粘贴到此处。

于 2013-04-15T14:49:34.243 回答