对于新项目,我们决定使用Spring MVC和JdbcTemplate(特别是SimpleJdbcTemplate)来保存域对象。我一直在用这种方法处理的一个问题是如何从SELECT查询中干净地创建对象图。当我从单个表中拉行时,RowMapper机制似乎很好用;当我映射JOIN查询的结果时,我很担心。使用SimpleJdbcTemplate干净地创建域对象的对象图
举一个具体的(尚未完全制造)例如,假设我有在N对1的关系两个实体:
public class Invoice {
private Customer customer;
...
}
public class Customer {
private int id;
private String name;
...
}
我想能够调用一个selectInvoices()
方法在我InvoiceDAO
,并检索一个列表Invoice
填充完整形式的Customer
实例。相反,我发现自己想做类似下面的事情:
public class Invoice {
// this makes me unhappy
private int customerId;
...
}
干净地做到这一点的最佳做法是什么?我应该咬一口子弹并使用ORM吗?
好问题,如果你不想搅浑你的DAO的或POJO的,那么你将不得不去ORM路线。 – Perception 2012-03-03 17:45:38