java - Spring JDBC 中的对象映射?

标签 java spring jdbc

我以前使用过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/

相关文章:

java - 访问 Thymeleaf 中的 HashMap 键

java - GenerationType.TABLE : Big numbers in the data base

java - Netbeans 不会在“项目”选项卡中显示 Web 项目

java - 带有 SimpleCursorAdapter 的 Android ListView - 恢复时崩溃

java - 什么是java :comp/env?

java - 使用嵌入式 Derby,我可以插入临时表但不能在插入后查询

sql-server - SQL Server 集群的 JDBC 连接字符串

java - 重复 Activity 日期处理冬季时间/夏季时间

Java Spring MVC 模板项目问题

java - ' sys.objects ' 附近的语法不正确