내 프로젝트에서 일부 모델에 문제가 있습니다. 컨트롤러 내에서 모델 (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;
}
}
그러나 만약 그 로거이 아래 I 코드 :
Logger.debug("my model's id %s", myModel.relObject.myId);
그것은 널을 보낸다는. 이것은 내 프로젝트의 많은 모델에서 발생합니다. 왜 내가 어떻게 해결할 수 있는지에 대한 아이디어가 있습니까?
데이터/레코드를 저장하는 데 성공 했습니까? 나는 당신의 코드와 비슷한 것을 시도했지만'myModel.relObject.myId' 표현식에 대해'null' 값을 얻지 못한다. –
그래, 알아 냈어. Play를 사용하면 동일한 트랜잭션에 있기 때문에이 작업을 수행 할 수 있으므로 null이 없어도 이와 같은 필드에 액세스 할 수 있습니다. 문제는 내가 그것을 어떻게 부르고 있었는지와 아무 관련이 없다. 그것은 당신의 프로젝트에서 await() 함수를 호출 할 때 어떤 종류의 버그입니다. 그것은 내가 생각하는 wierd를 컴파일합니다. –