我以前使用过Hibernate,现在尝试理解JDBC。我已经完成了有关Spring JDBC的大量研究,但仍然无法理解如何在对象之间创建关系。

假设我有一个产品:

public class Product {
private Long id;
private String nam;
private Customer customer;

//constructor, getters and setters.
}

和客户:
public class Customer {
private Long id;
private String name;
private List<Product> products = new ArrayList<Product>();

//constructor, getters and setters
}

客户与产品之间的关系为@OneToMany。
如何使用SpringJDBC在数据库中正确保存产品和客户对象?
谢谢

最佳答案

在很多情况下,不使用完整的ORM而是依赖较低级别的抽象(例如Spring JDBCTemplate和RowMapper)是很有意义的。 iBatis也浮现在脑海。即使在大型企业解决方案中,这也是有道理的。

如果您不熟悉ORM,那么您将不得不自己做其他工作。例如,您可以编写一个带有联接的SQL查询,返回所有客户字段和该客户的所有产品,并对其进行迭代以将所有内容映射到Java对象。在很多情况下,代码可以像使用ORM一样干净。

写入所有数据会更加困惑,特别是如果您需要针对未弄脏的东西进行优化时。

我能想到的最佳用例是批处理,在这种情况下,对数据访问的控制变得更加重要,而更高级别的抽象并不一定会使您的工作效率更高。

10-06 16:04
查看更多