2016-10-08 4 views
1

Vaadin의 SQLContainer에 몇 가지 문제가 있습니다. my SQLContainer의 이름은 agentContainer입니다. 이제 다음 코드를 실행하는 경우Vaadin SQLContainer 이상한 동작

:

System.out.println(agentContainer.getItemIds()); 
System.out.println(agentContainer.containsId("3")); 
System.out.println(agentContainer.containsId(new RowId(new Object[]{"3"}))); 
System.out.println(agentContainer.getItem((new RowId(new Object[]{"3"})))); 
System.out.println(agentContainer.getItem("3")); 

를 I 얻을 :

[1, 2, 3, 4, 5, 6, 8, 9, 13, 16, 17 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59]

거짓

사실

내가 완전히 왜 contains 반환 true로로 손실하고

하지만 getItem는 null를 돌려줍니다.

왜 이런 일이 발생하는지 파악할 수 있습니까?

+0

키 필드가 숫자입니까? 정수처럼 보입니다. TrySystem.out.println (agentContainer.getItem (3)) –

+0

정확합니다. 그것으로 문제가 해결되었습니다. 일반 객체를 기본 필드 유형에 민감하게 배치 할 수는 있지만 – Thinker

답변

0

getItem에는 원하는 모든 객체를 지정할 수 있지만 객체 유형은 기본 필드와 일치해야합니다. Number provider Integer 및 String 유형의 경우 String을 제공합니다.