Mensagens enviadas por: J2Alex
Índice dos Fóruns » Perfil de J2Alex » Mensagens enviadas por J2Alex
Autor Mensagem
pcalcado wrote:1) Voce ta falando de DAO ou Repoitorio?


Minha questão é relativa ao repository. Você deve estar fazendo essa pergunta pelo "daoCliente" do exemplo, né? Esse é um dao mesmo que tá me retornando um cliente que possui referência a uma conta - como eu disse, é meio tosco o exemplo, mas não me veio nada melhor na cabeça.

A questão é: em que momento o repository que é referenciado por conta vai ser injetado nele (Veja que eu consultei um cliente, não uma conta)? Qual a melhor forma de fazer isso?

pcalcado wrote:2) Seu segundo exemplo nao faz muito sentido. Voce acabou de criar a conta, que saldo ela vai ter?


Nesse caso não faz muito sentido mesmo. Mas ainda assim, poderia retornar 0. Podem haver casos que faça sentido, como falei estou sem exemplos melhores. Mesmo assim, se não fizer sentido, o método está lá... o que seria mais correto? Um IllegalStateException? Um valor default?

pcalcado wrote:Da um caso de uso de exemlo.


Não estou com um problema real, é mais uma dúvida arquitetural e conceitual mesmo... e nem é por falta do que fazer... rs.
E como implementar isso de forma menos "intrusiva"?

Seria interessante, por exemplo, fazer:



ou ainda



Já que estou usando spring, seria interessante injetar o Repository nesses caras, mas nesses casos não teria como fazer isso de forma totalmente transparente.

Sei algumas formas de resolver isso, mas nenhuma me cheira muito bem, não sei se é coisa da minha cabeça...
Olá,

Tenho uma dúvida conceitual sobre Repository que seria o seguinte:

Imaginem que tenho uma entidade de negócio Conta, mapeada e persistida pelo hibernate. Essa entidade possui um método getSaldo() que me retorna o saldo atual.

A implementação de getSaldo() seria a seguinte:



O saldo será o resultado de todos os créditos menos os débitos. Isso poderá estar no banco ou não.

Considero que getSaldo() faça parte do negócio, portanto, faz sentido chamar um Repository dentro da entidade para retornar o saldo.

Agora a dúvida: sendo que eu utilizo Hibernate e Spring, qual seria a melhor forma de injetar o Repository na entidade?

Obrigado a todos.
Dê uma pesquisada em Generics, vai te ajudar no que você está tentando fazer.

Mas lembre-se que cada linguagem tem as suas particularidades e a melhor forma de se fazer algo em uma linguagem pode não ser a melhor em outra.

Boa sorte.
fabiofalci wrote:
J2Alex wrote:E precisa usar RMI pra usar o spring remoting? E o Spring HTTP invoker?


Não precisa.

Estou usando o Http Invoker
http://static.springframework.org/spring/docs/2.5.x/reference/remoting.html#remoting-httpinvoker


Justamente o que eu queria dizer, RMI é UMA das opções do spring, não a única...
Luca wrote:Olá

Não usem RMI para comunicação entre o cliente e o servidor se pretendem que sua aplicação cresça muito

fabiofalci wrote:Lauro. Aqui desenvolvemos aplicações swing que acessam um servidor de aplicação através disso

http://static.springframework.org/spring/docs/2.5.x/reference/remoting.html

Funciona blz. Como o rafael falou, todo objeto que trafega entre o servidor e o cliente deverá estar num
jar dentro do classpath do cliente.


Porque optaram por fazer RPC ao invés de apenas trocar mensagens usando um simples servlet? A simples troca de mensagens escala muito melhor.

[]s
Luca


E precisa usar RMI pra usar o spring remoting? E o Spring HTTP invoker?
Pelo amor de Deus!!! Alguém bloqueie esse tópico!!!

Metade dos 5 mil programadores envolvidos no projeto do maker já se cadastraram no forum só pra ficar postando tópicos idiotas tipo "Estou ficando interessado...", "mas ainda tenho um dúvida...", "o maker pode fazer isso?", "pela apresentação que eu assisti... SIMMMMM!!!", "O maker é fantástico", "nunca mais tive problemas sexuais depois que comecei a usar o maker...".

Nunca tanta gente se cadastrou no forum só pra responder a 1 único tópico... sem comentários...
Mudando um pouco de assunto, vocês acham que um curso de administração pode ser mais interessante que um curso específico na área de informática para alguém que já tem alguns bons anos de experiência?
Fabio,

É só um erro do livro (acho que a versão em inglês está correta). É só entender a idéia que o pessoal explicou.
Transações no contexto que você está colocando aqui são necessárias realmente só quando se realizam alterações nos dados. Acontece que muitas vezes - em especial em aplicações web - o controle de transações é utilizado forma automatizada (spring, por exemplo) o que deixa transparente e mais simples esse processo, já que esse não é um requisito do domínio. No entanto, são criadas transações que são desnecessárias.
renan_ wrote:É uma boa pratica instanciar a classe ContatoDAO no meu .jsp ?


É uma péssima prática... nunca faça isso.
hugalves,

Struts tem a ver com MVC, portanto, não tem a ver com banco. Hibernate sim é um framework ORM. Mas você não precisa usar obrigatoriamente hibernate - apesar de não ser uma má idéia .

O importante é você entender onde se aplica cada pattern e o que cada um se propõe a resolver.

Continue com seus estudos, aos poucos você vai clarear um pouco mais as idéias...
Talvez você não tenha encontrado porque MVC não tem a ver com bancos de dados. Você irá usar outros patterns pra isso. Dê uma pesquisada sobre DAOs.
Calma antoniopopete, porque o estresse?

O ideal hoje é você começar pelo modelagem OO do seu negócio. Começar pelo ER é algo que se recomendava lá pelos anos 80/90. Não enfatize tabelas de banco, enfatize classes de negócio. Em alguns ambientes mais burocráticos, nem sempre isso é possível, mas se for possível, não pense duas vezes.

Quanto a eu sugerir o hibernate/jpa, ele fez a pergunta em um forum de java, provavelmente o interesse principal é java, não banco especificamente. A pergunta dele foi sobre modelagem das classes, isso tem a ver com OO. Uma solução ORM vai ajudar a esclarecer muitas das dúvidas dele, pois já apresenta soluções justamente para os fatos que ele colocou aqui. Conhecer hibernate/jpa pode ajudar a clarear as idéias, se não quiser ver especificamente algum framework, pode estudar alguns patterns sobre o assunto (Fowler, por exemplo, apresenta alguns interessantes, nos quais o próprio hibernate se inspirou). Então acredito que eu tenha respondido, ou ao menos tentado, a dúvida dele quando sugeri olhar hibernate.

Só não entendi seu tom agressivo. Não se pode discordar de você? Agindo assim, você está parecendo querer ser o dono da verdade...

antoniopopete wrote:Você deve primeiro projetar o banco de dados.


Errado...

spwe, dê uma olhada no hibernate ou jpa, vai facilitar bastante a sua vida.

 
Índice dos Fóruns » Perfil de J2Alex » Mensagens enviadas por J2Alex
Ir para:   
Powered by JForum 2.1.8 © JForum Team