在我的项目中,我遇到了一些模型的问题。在控制器中,我调用模型中的对象(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);
它发送一个null。这在我项目的许多模型中都有发生。关于为什么以及如何解决这个问题的任何想法?
答案 0 :(得分:0)
似乎根本没有任何意义。看来play Framework的Controller类中存在一个错误。特别是在只接收一个参数(A Future对象)的await方法中。尝试使用Promise等Future对象时,可以使用此方法创建另一个Thread,这样它就不会阻塞整个应用程序。
如果我在我的项目中的任何地方使用此方法,它将无法正确编译,直到第二次编译而不清理项目并导致模型有奇怪的行为。
我将在堆栈溢出和googlecode播放论坛中发布另一个主题,我将在这里粘贴这些讨论的链接。