我以前使用过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
}
Customer 和Product 之间的关系是@OneToMany。 如何使用 SpringJDBC 将产品和客户对象正确保存在数据库中? 谢谢
最佳答案
在很多情况下,不使用完整的 ORM 而是依赖较低级别的抽象(如 Spring JDBCTemplate 和 RowMapper)是很有意义的。我也想到了 iBatis。即使在大型企业解决方案中,这也是有意义的。
如果您离开成熟的 ORM 世界,您将不得不自己做额外的工作。例如,您可以编写一个带有连接的 SQL 查询,返回该客户的所有客户字段和所有产品,并遍历它以将所有这些映射到 Java 对象。在很多情况下,代码可以像使用 ORM 时一样干净。
写入所有这些数据会更加困惑,尤其是当您需要优化尚未弄脏的内容时。
我能想到的最佳用例是批处理,其中对数据访问的控制变得更加重要,更高级别的抽象并不一定会提高您的工作效率。
关于java - Spring JDBC 中的对象映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26688636/