在本教程中,我们将向您展示分步过程,首先尝试对象关系映射,使用示例数据在ERD中定义数据模型,然后从ERD生成类图,生成数据库和休眠代码,最后使用生成的休眠代码将数据插入数据库并从数据库检索数据。
使用生成的Hibernate代码进行编程
这是本教程的核心部分-使用生成的Hibernate代码。
将记录插入数据库
1、打开ormsamples.CreateToyStoreData.java。

2、让我们注释掉将样本数据插入数据库的代码,并编写我们自己的代码。

3、该示例代码已经具有用于对象创建的基本模板。让我们对其进行修改以插入我们自己的数据。让我们使用setter方法将实例ltoystoreCategory的名称定义为RC模型。
PersistentTransaction t = toystore.ToyStorePersistentManager.instance().getSession().beginTransaction();try { toystore.Category ltoystoreCategory = toystore.CategoryDAO.createCategory(); ltoystoreCategory.setName("RC Model"); ...
4、对于ltoystoreProduct,将其名称指定为数量300的1:24 RC Car。
...toystore.Product ltoystoreProduct = toystore.ProductDAO.createProduct();ltoystoreProduct .setName(“ 1:24 RC Car”);ltoystoreProduct .setStockQTY(300);...
5、接下来,我们将ltoystoreCategory与ltoystoreProduct相关联。由于一个类别包含许多产品(还记得我们将其定义为一对多关系吗,因此我们可以通过在生成的代码中使用集合来关联它们。集合的名称是根据关联中的角色名称生成的,在这种情况下,它是Category类中的product变量。
...ltoystoreCategory.product.add(ltoystoreProduct);...
您的代码应如下所示。


7、再次打开SQL Server Management Studio,您会发现RC模型类别和1:24 RC Car产品已插入数据库中。

从数据库检索记录
让我们使用Hibernate代码检索数据。
1、打开ListToyStoreData.java。

2、默认情况下,示例代码将对对象类型一一执行查询。但是由于我们的Category类和Product类是相互关联的,因此我们可以利用该关联从数据库中检索它们,而不必在单个请求中对其进行查询。让我们评论一下样本中的产品部分。

...int length = Math.min(ltoystoreCategory.length, ROW_COUNT);for (int i = 0; i < length; i++) { System.out.println(toystoreCategorys[i].getName()); System.out.println("Containing Products:"); ...
4、接下来,我们从类别中检索产品集合,然后将其转换为Product对象的数组。
... Product[] products = toystoreCategorys[i].product.toArray(); ...
5、现在,遍历数组以打印出与Category相关联的产品信息。
... for (int j = 0; j < products.length; j++) { System.out.println(products[j].getName() + ", QTY: " + products[j].getStockQTY()); } ...
您可以在“ 输出”窗口中看到类别及其包含的产品的详细信息。

=====================================================
更多Visual Paradigm相关资源,请点击此处进行查看~
想要购买Visual Paradigm正版授权的朋友可以咨询官方客服。

标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!