2013-08-02 4 views
0

나는 primefaces 3.5을 사용하고 난 다음 문제에 도움이 필요한 :Primefaces 데이터 테이블 Rowkey는

내가 선택 모드와 데이터 테이블이 하나가 선택한 항목 대신 특정 객체 속성에 객체에 바인드합니다. 아래의 샘플 코드 :

<p:dataTable id="name" value="#{bean.items}" var="item" selectionMode="single" selection="#{bean.selected}" rowKey="#{item}"> 
<p:ajax event="rowSelect" /> 
<p:ajax event="rowUnselect" /> 
... 
</p:dataTable> 

는 항목을 작성하는 동안, 내가 대신 내가 항목의 목록을 유지하고 핸들러 저장 작업을하는 동안 나는 전체 목록을 지속, 즉시 데이터베이스에 항목이 유지되지 않습니다.

문제점은 새로 생성 된 모든 항목에 대해 객체 ID가 생성되지 않았으며 (지속적으로 데이터베이스에서 수행됨) 테이블에서 행을 선택하는 동안 선택한 항목이 항상 잘못된 것입니다. 고유 한 객체 속성이 없어도 올바른 행 선택을 관리 할 수 ​​있습니까? 당신이 자동 생성 키 변경 방법 다른 분야에/해시 코드와 동일한 사용하는 경우가 자동 생성 사용할 때 후보 키이 있어야하기 때문에

답변

1

그게 전부는 문제 논리적입니다.

+0

개체에 고유 키가 없으면 불가능합니다. 개체 해시 코드를 사용하려고 생각했지만 모든 개체를 변경해야합니다. 난 무작위로 생성기 값으로 시도하고 지속하기 전에 데이터베이스를 돌볼 수 있도록 null로 설정합니다. 이 솔루션이 최상의 방법입니까? 너에게 무엇을 제안 할까? – user2644660

+0

우수 사례 읽기와 해시 코드 https://community.jboss.org/wiki/EqualsAndHashCode –

관련 문제