2012-03-21 2 views
0

GAE/J에서 간단한 응용 프로그램을 만들려고합니다. 데이터 모델은 각각 tagsnotes의 목록으로 구성됩니다. 관계형 세상에서 Siena로 비정규 화 된 데이터 모델링

,이 것 대다 - 각 note 여러 tags을 가질 수 있습니다, 모든 tag 여러 notes에 "소속"수 있기 때문이다. 그러나 이것은 GAE 데이터 스토어 환경에 잘 맞지 않습니다. 그래서, note 각각의 저축을 고려 중이며 그 목록은 tags입니다. 적절한 색인을 생성하면 태그로 검색하는 것이 빠릅니다.

질문 : Siena를 사용하여 모델을 만드는 방법? 문서가 희박하고 예를 보았지만 혼란스러워했습니다.

답변

1

시에나 문서는 내가 더 이상 작업을 할 시간이 없어으로 sparsed한다 ... 나는 다른 프로젝트에 바빠 누군가가 기여 시에나를 유지하고자하는 경우, 그/그녀는 환영이다;

) 귀하의 질문을 고려해 예, 당신은 Siena에 의해 관리되고 GAE에서 작동하는 간단한 목록 (일명 속성 목록)을 사용해야합니다.

같은 필드를 추가하지 : (어떤 주석)

List<String> tags 

그것은 작동합니다!

+0

문서에 대한 의견이 호언 장담 인 경우 유감입니다. 나는 기분을 상하게하려고하지 않았다! 이제 내 태그가 문자열이 아닌 모델 자체 일 경우 어떻게해야합니까? 'List tags' 만 할 수 있습니까? 나는 embedding에 대해 읽었으며 이것을 사용하여'@ Embedded' 주석을 사용해야한다고 생각했습니다. 필자가 생각한 시나리오 인'JOIN'을 수행하지 않으려면'@ Embedded'를 사용해야합니다. 이 이해가 맞습니까? – curioustechizen

+1

걱정하지 마라. 나는 기분이 좋지 않다. 나는 단지 내가 슬프게도 그것에 대해 알고 있고 작년에 내가 다른 프로젝트에서 일했던 시에나에서 더 이상 일할 수 없다. 태그에 관해서는, 목록 을 사용할 수는 없지만 목록 은 GAE는 목록 속성의 기본 유형만 관리하므로 @Embedded은 해결책이기는하지만 엔티티 그룹 (임베디드 엔티티)에서 수행 할 수있는 업데이트 수에 대해서는 GAE에 제한이 있습니다. 1 초/초 이상이 그룹을 수정할 수 없습니다. 따라서 List 을 사용하고 Tag 키를 String으로 작성하여 해당 키를 쉽게 찾을 수 있도록 할 것을 권장합니다. – mandubian

+0

알았어 - 이제 알 겠어. 아마도 태그로 단순한'String'을 사용하는 것에 집중할 것입니다. (그것은 어쨌든 태그가 무엇입니까!). 나는 "실제로 그렇게 태그로 메모 찾기"가 어떻게 작동하는지 실제로 시험해야합니다. 여기에 내 결과를 업데이트하겠습니다. – curioustechizen

관련 문제