나는 Hibernate, Spring 및 Wicket을 기반으로하는 웹 애플리케이션을 개발 중이다.Wicket, Spring, Hibernate 기반 웹 응용 프로그램에서 LoadableDetachableModel을 올바르게 사용하는 방법은 무엇입니까?
지금까지는 비즈니스 개체와 지속성 계층을 구현했습니다. 트랜잭션은 Spring 프레임 워크의 트랜잭션 인터셉터에 의해 관리된다. 따라서 DAO 클래스의 각 메소드는 트랜잭션에 캡슐화됩니다. 단위 테스트와 함께이를 구현하는 것은 간단했습니다.
이제 웹 의존성 주입을 위해 Spring을 사용하는 웹 응용 프로그램 파트로 이동합니다. Wicket 프레임 워크의 @SpringBean 주석과 함께 Wicket 구성 요소에 DAO를 주입합니다. 그러나 Wicket을 처음 접했을 때 비즈니스 객체에 맞는 모델을 사용할 때 Wicket 구성 요소를 전달할 때 약간의 문제가 생겼습니다.
LoadableDetachableModel을 시도했지만 몇 가지 문제가 있습니다. 새 페이지를 만들거나 페이지의 입력 매개 변수에 따라 기존 비즈니스 개체를 편집 할 수있는 페이지가 하나 있습니다. 매개 변수에 ID가 있으면 해당 Business Object를 데이터베이스에서로드해야합니다. 매개 변수가 없으면 새 비즈니스 오브젝트를 작성해야합니다. 그 부분은 편집되어야하는 객체 였지만, 새로운 객체가 만들어 져야 할 때 웹 폼을 채우고 save를 누르면 NullPointerException이 발생합니다. 일부 디버깅 후 오버로드 된 load() 메서드는 데이터베이스에 개체 형식을로드 할 수 없으므로 LoadableDetachableModel이 비즈니스 개체의 인스턴스를 반환 할 수 없다는 것을 알았습니다. 아직 저장되지 않았으므로 ID가 없습니다.
이제이 문제를 해결하는 방법을 궁금합니다. LoadableDetachableModel이 올바른 선택입니까? 양식을 두 개의 상호 의존적 인 양식으로 분리하고 각 양식이 다른 모델을 사용하는 것이 좋습니다. 따라서 편집 페이지/양식 만 LoadableDetachableModel을 사용합니까?
도 참조 새로운 http://wicket.apache.org/guide/guide/modelsforms.html 이미있는 링크 LoadableDetachableModel' –
이없는이 https를 사용 존재'사용 개찰구 6.x에서 용 : // 대신 ci.apache.org/projects/wicket/guide/7.x/guide/modelsforms.html –