Pergunta: Esses cadastros estão em tabelas separadas?
Acho que sim. Nesse caso é só passar para o método um parâmetro que identifique que tipo de cadastro você quer pesquisar, aí dentro do método você coloca condições para pesquisar na tabela correspondente.
Isso pode ser feito de várias maneiras, vou dar dois exemplos básicos e fáceis:
1 - Você pode colocar uma condição para cada tipo aí criar um query específica para cada tabela e fazer a consulta:
Ex:
[code]/*
pk - valor da chave a ser pequisada
tipo - tipo da tabela
*/
void nomeDoMetodo(int pk, int tipo) {
String sql = "";
if(tipo == 0)
sql = "select * from cliente where idcliente = " + pk;
else if(tipo == 1)
sql = "select * from fornecedor where idfornecedor = " + pk;
//implementação da consulta
}[/code]
2 - Seguindo a mesma idéia anterior, das condições para montar a consulta, você pode criar um query padrão, com uns campos chave e dar um replace no conteúdo.
[code]
void nomeDoMetodo(int pk, int tipo) {
String sql = "select * from @tabela where @chave = " + pk;
if(tipo == 0) {
sql = sql.replace("@tabela", "cliente");
sql = sql.replace("@chave", "idcliente");
} else if(tipo == 1) {
sql = sql.replace("@tabela", "fornecedor");
sql = sql.replace("@chave", "idfornecedor");
}
}[/code]
Bem, aí tem umas soluções simples. Lembre que isso aí é só exemplo, podem haver formas bem melhores, dê uma pensada. E com relação a eu está concatenando o valor da chave a String, não é uma boa prática, o certo é utilizar PreparedStatement, se não sabe o que é, dê uma pesquisada, tem bastante conteúdo sobre isso.
Espero ter ajudado.
Abraços.