2011-07-27 4 views
1

GWT에서 RequestFactory로 데이터를 필터링하는 방법에 대한 질문이 있습니다. 나는 현재 MySQL 데이터베이스에 의해 뒷받침되는 애플리케이션을 개발 중이다. 내 영속 계층은 JPA/Hibernate를 기반으로합니다. 내 모든 목록 관련 작업에 대한 내 데이터베이스를 쿼리하려면 RequestFactory 사용하고 있습니다.GWT requestFactory 결과를 필터링하는 방법은 무엇입니까?

예를 들어 Person 객체가 있습니다. PersonRequestContext에는 사람을 나열하는 메소드가 있습니다. 메소드 서명은 다음과 같습니다 이제

entityManager.createQuery("SELECT p FROM Person p ORDER BY p.id").setFirstResult(firstResult).setMaxResults(maxResults).getResultList(); 

, 내가 테이블 열을 기준으로 결과를 필터링 할 것입니다 :

당신이 짐작다시피
Request<List<PersonProxy>> listPersons(Integer firstResult, Integer maxResults); 

, 해당 쿼리가이 같은 것입니다. 그래서 그것을 해결하기 위해 일종의 Filter 클래스 추상화를 사용하고 싶었습니다. 문제는 우리 모두가 알다시피 non-primitive 객체를 requestFactory 메소드에 전달할 수 없다는 것입니다.

이런 종류의 것을 경험 한 적이 있습니까? 문제를 해결하기 위해 어떻게 처리 했습니까?

답변

1

기본 형식 만 Request 메서드에 전달할 수 있다는 귀하의 주장이 잘못되었습니다. transportable types에 대한 설명서를 참조하십시오. ValueProxy 계층 구조를 만들어 필터를 모델링 할 수 있습니다.

+0

오, 알았어, 나는 완전히 틀렸다. 나를 고쳐 주셔서 고마워. 나는 당신의 제안으로 그것을 풀려고 노력할 것이다. ... 다시 한번 고마워, – kaffein

+0

Ok, 여기 내가 무엇을하려고 노력 했는가? 나는 서버 측에서 객체 (A)를 만들었고, ValueProxy를 클라이언트 측에서 확장합니다. 난 그냥 ** 서버쪽에 값 쌍 **을 보내고 싶다. (그렇게 간단하고 어리 석다.) AProxy에서 해당 필드를 채우고 서버로 보냅니다. 클라이언트 측에서 AProxy 개체를 만들려면 어떻게해야합니까? 그리고 RequestContext에 @service를 주면 어떻게 서비스 관련 기능을 가지지 않을 것인가? (db 쿼리 나 stg를 달성하는 것을 의미한다)? 감사합니다. – kaffein

관련 문제