Senhores do conhecimento, ajudem um pobre trabalhador:
Preciso definir uma arquitetura com uma série de DAO´s e VO´s,
porém não tenho a privilégio de usar Java / Hibernate / Spring
para fazer o lazy loading.
Vejamos os codigos:
public class Produto {
int id;
String nome;
Marca marca = new Marca();
public Marca getMarca() {
return marca;
}
}
public class Marca {
int id;
String nome;
}
public class ProdutoDAO {
Produto findByPrimaryKey(int id) {
String sql = "select * from produto where id = ?";
Produto produto = new Produto();
produto.setId(rs.getInt("id"));
produto.getMarca().setId(rs.getInt("id_marca"));
return produto;
}}
public class MarcaDAO {
Produto findByPrimaryKey(int id) {
String sql = "select * from marca where id = ?";
Marca marca = new Marca();
marca.setId(rs.getInt("id"));
marca.setNome(rs.getInt("nome"));
return marca;
}}
public class LazyTest {
public static void main(String[] xxx) {
Produto prod = new ProdutoDAO().findByPrimaryKey(10));
System.out.println(prod.getId());
System.out.println(prod.getMarca().getNome()); // aqui e somente aqui, teria que carregar automaticamente
}
}
Como faria o isso no “braço” ??
Espero ter sido claro.
Agradeço a todos…
