Galera,
Tenho uma situação que em uma entidade eu tenho os IDs de origem e o nome da Classe que o id pertence, isso acontece pq quero replicar os registros entre dois sistemas usando uma fila, logo a cada atualização em uma das entidades de domínio, eu crio um registro na entidade citada no começo, exemplo, se eu gravo uma entidade Funcionario com o id 2, nessa tabela de controle fica o id 2 e o nome da classe origem.
A questão é possível criar uma query generica que retorne uma lista de objects considerando que entidaes diferentes estarão na lista? com isso iria no banco apenas uma vez... Hoje estou tendo que agrupar os ids por entidade e buscar cada uma delas no banco.. Ou mesmo se existe alguma outra maneira melhor?
att
amigo,
acho q tem algo de errado na sua rotina de replicação ou esta implementanda meio confusa rs.
a replicação ocorre do sistema A p/ sistema B ou pode ser de B p/ A ?
se for mão única eu faria um schedule p/ replicar as informações.
Talvez um webservice possa ser uma outra opção válida, modificou determinado registro vc já duplica o valor em outra base, ou mantem os dados em uma única base e faz a consulta via ws(assim mata a replicação).
att,
[quote=pedruhenrik]amigo,
a replicação ocorre do sistema A p/ sistema B ou pode ser de B p/ A ?
[/quote]
Opa blz,
Tá confuso mesmo 
então ela ocorre de A para B, sendo que o A expõe alguns métodos em web service para fazer a manutenção, logo, a cada vez que um método desses web services são chamados é atualizada a base desse A. porém esse A é um centralizador, eu posso de ter N instâncias espalhadas em outras máquinas, com seus próprios BDs, ai entra a fila, que envia essa alteração feita no A…
Relembrando a cada manutenção feita em uma entidade de domínio do A, eu armazeno em um controle o ID, e seu nome de classe, com isso poderia alimentar essa fila com mensagens (entidades alterados recentemente), porém com o formato que fiz teria que dar alguns selects no banco para pega-los, eu queria algo mais simples, tipo estou pensando em selecionar por um tipo mais genérico que seja pai de todas essas entidades, será que vale a pena.?
vish,
deixar o banco A como central e disponibilizar metodos de consulta e atualização via ws e somente atualizar e consultar esse banco central não soluciona o problema?
ai tipo as tbls q existem em A e são utilizadas no B,C,D,etc existiriam somente em A, qualquer necessidade faz os outros sistemas consultar A.
seguindo essa linha eu sugiro um schedule.
att,
No cenário de hoje eu diria que depende, as aplicações são separadas (banco inclusive), imagine que vc tenha dois estabelecimentos em lugares diferentes, e cada um tenha seu ambiente com os dados e trabalhando de forma independente, hoje eu posso trabalhar sem o centralizador, usando o web service que vc perguntou se já não podia fazer esse papel, que pode de fato, mas ai é cada ambiente por si… Ou ter um centralizador, que manda via fila as entidades alteradas para todos os seus estabelecimentos. Você falou do schedule, estou usando um para gerar as entidades que são modificadas de tempos em tempos, a questão é que a query vai nessa entidade que apenas armazena o ID e o Tipo que foi feita a manutençao recentemente, e tenho que instanciar os objetos completos para cada tipo que ele encontre, ai teria que fazer uma dezena de selects, a minha dúvida seria se tem como generificar esse Select de forma a evitar tantos selects