2010-01-25 3 views
1

엔티티의 테이블에서 값을 가져 오지 않는 속성을 가진 엔티티가 있습니다. 그러나 가능한 경우 쿼리로 계산할 수 있습니다.스칼라 쿼리 결과를 nhibernate의 속성에 바인딩 할 수 있습니까?

분명히하기 위해 나는 엔트리이라는 엔티티가 있으며 현재 사용자가 투표했는지 확인하고 싶습니다. 그래서 나는 엔트리 엔터티에 "IsCurrentUserVoted"와 같은 속성을 추가 할 수 있다고 생각했습니다. 그리고 "select count(*) from vote where userId = :currentUser"과 같은 쿼리에서 값을 바인딩 할 수 있다면.

nhibernate가 이러한 종류의 기능을 지원하는지 또는 투표 및 항목 테이블에 가입하는 유일한 방법 일까 궁금합니다. 그렇지 않은 경우,이 경우 귀하의 솔루션은 무엇입니까?

미리 감사드립니다.

답변

1

예, 나는 당신이 formula property ...

<property name="IsCurrentUserVoted" formula="select count(*) from vote where userId=Id" /> 

내가 구문에 긍정적 인 아니에요, 당신은 쿼리를 래핑하는 스칼라 기능을 사용해야 할 수도 있습니다 그렇게 할 수 있다고 생각합니다. 또한 Entry를 얻을 때마다 그 값이 정말로 필요한 경우가 아니라면, 필요할 때만 해당 쿼리를 실행하는 것이 가장 좋습니다.

+0

답변 해 주셔서 감사합니다. 시도해 보겠습니다. –

관련 문제