Pergunta

Eu estou tendo um problema. Eu gostaria de criar objeto Document, e eu gostaria de ter uma propriedade de usuário com com.google.appengine.api.users.User tipo (no local docs do GAE, eles disseram que deveríamos usar esse objeto em vez do endereço de e-mail ou qualquer outra coisa, porque esse objeto provavelmente será enchanced de ser único). Mas agora o objeto não pode ser compilado por GWT, porque eu não tenho a fonte para esse objeto. Como posso resolver o problema?

Eu estava procurando documentos sobre DTOs, mas eu percebi que talvez isso não é o melhor padrão que eu deveria usar.

O que você recomenda?

Muito obrigado pela sua ajuda!

Saudações, Bálint Krivan

Foi útil?

Solução

para evitar DTOs para objetos com com.google.appengine.api.users.User dentro de você provavelmente pode usar o trabalho de http://www.resmarksystems.com/code/ Ele tem wrappers para criar os tipos de dados núcleo do GAE (Key, Texto, ShortBlob, Blob, Link, usuário). Eu testei com datastore.Text e funcionou bem.

Outras dicas

Há muito debate sobre se você deve ser capaz de reutilizar objetos do servidor no cliente. No entanto, a reutilização raramente funciona bem em aplicações reais, então eu geralmente recomendam a criação de objetos Java puros que você copiar os dados para enviar para o cliente. Isto permite-lhe adaptar os dados para o que você precisa sobre o cliente e evita armadilhas onde você acidentalmente enviar informações confidenciais sobre o fio.

Portanto, neste caso, eu recomendo que você crie um objeto separado para enviar sobre o fio. BTW, se você tiver o SDK AppEngine para Java ( http://code.google.com/appengine/ Downloads.html ), inclui uma aplicação de demonstração que eu fiz (sticky) que demonstra essa técnica.

questão também aborda a questão: Ela liga a uma solução semi viável para fazer automaticamente seus objetos persistentes gwt-rpc compatível.

Eu tive a mesma pergunta, sua resposta é interessante, mas estou sempre triste para copiar duas vezes por dados ... Além disso, quando o seu dao recebe os dados, você terá que analisar todos os resultados para copiá-los para o puro java objeto, não é? Parece ser uma operação pesada. Qual a sua opinião sobre aqueles pergunta?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top