【发布时间】:2009-06-14 21:54:53
【问题描述】:
第一次发帖...
我通常使用 PHP 和 Symfony 以及 Propel 和 ActionScript 3 (Flex 3) 进行开发,并使用 AMF 服务。这个周末我正在尝试使用 Java 和 Hibernate 创建一个 BlazeDS 应用程序,我开始非常喜欢 Java! !!
在本周末进行一些研究并使用 Eclipse 的 Hibernate Synchronizer 插件后,创建映射到表的类(请原谅我的术语)似乎相当容易,我很快就更接近理解这些方面了。
然而,我想知道的是如何为我的数据库开发更全面的架构,特别是在查询、结果和迭代方面。让我详细说明:
例如,如果我有一个 authors 表,我将创建一个映射到该表的 Author 类,其中包含 getter 和 setter 等。这部分看起来在 Hibernate 方面非常标准。
此外,我可能需要一个 Peer 类(例如在 Propel for PHP 中)来执行查询,该类将返回一个包含 Author 实例的 List/Array。
所以我会(在纠正下说话)以下课程:
作者 - 表示带有 getter 和 setter 的单行。
作者同行 - 例如具有 AuthorsPeer::getAuthorsByCountry('USA'); 或 - AuthorsPeer::getRetiredAuthors(); 或 AuthorsPeer::getAuthorsWithSwineFlu(); - ... 得到图片。 :) - 它返回一个 AuthorsList 作为结果...见下一点。
作者列表 - 作者的集合/列表,具有用于迭代 getNext()、getPrevious() 等的函数。
这是它在 Hibernate 中的本意,还是我错过了情节?我是否注意到这里的设计模式,而没有注意到它?我需要像 AuthorsList 这样的东西,还是 Hibernate 提供了一个通用的解决方案。总而言之,处理这些方面的规范是什么。
另外,如果我有一个 Books 表,这些都与 Authors 相关,如果我打电话说 作者 myAuthor = Authors::getAuthor(primaryId, includeBooks); Hibernate 可以处理返回给我的结果,我可以使用如下: 字符串标题 = myAuthor.books[0].title;
我要问的是,对与 Books 表相关的 Authors 的查询是否会导致 Hibernate 返回 Authors,他们的 Books 都嵌套在 Authors“值对象”中,准备好进行一些迭代?
提前致谢!
【问题讨论】: