在一个项目的某一个查询场景中,TEACHER表是主表,STUDENT表是TEACHER的子表,两者是以一对多的方式关联。业务逻辑需要查询多 条TEACHER表的数据,并且在查询出每条A表数据的同时还需要将对应STUDENT表的行数取出来。我们当然可以利用Hibernate先将每条 TEACHER数据load进来以后再以TEACHER.getStudents().size()这种方式取得对应的行数,但是代码会显得很繁琐并且增 加了许多需要执行的SQL语句,有没有什么替代的方法呢?
我们可以使用Hiberante的formula。
为了解决前面提到的问题,我们只需要在TEACHER 的orm配置文件里加上这样一个property,定义其formula属性如下:
----------------------------
<property name="rowCount"
formula="(select count(*) from student a where a.ID= teacherId)"
type="java.lang.String" />
-----------------------------
通过这种方式我们就可以在取得每一个TEACHER持久化对象的时候就方便的得到了需要的统计信息,可以大幅度的提高我们的开发效率。注意这里不单单可以用来统计记数,还可以用于sum,avg等其他统计。
在Hibernate 3.x之前,formula属性只能够出现在property元素中。现在仍然可以这样做,但是Hibernate 3.x提供了一个formula属性或元素(两者在formula的用法方面实质上是等效的),可以在许多元素中使用,包括discriminator、 many-to-one、one-to-one、element、many-to-many、map-key、map-key-many-to-many 和property。这样就大大提高了对象关系映射的灵活性,从而支持对复杂数据 模型的更为细粒度的解释。
从3.x开始,Hibernate 使用formula、filter、subselect等提高映射灵活性,提供细粒度的解释特性,从而将其推进到一个新的级别。
相关推荐
详细分析见博客:http://blog.csdn.net/u011183394/article/details/46762307 该demo实现了向导页的左右滑动,且在最后一个页卡显示跳转按钮,并只在第一次进入程序才跳转至向导页,否则直接进入主页
这是一个Qt帮助文档中的一个示例,类向导,我的博客中有一些要注意的问题,是在Windows下用Qt5做的 博客地址:http://blog.csdn.net/solomon5926/article/details/8696912
用户下载后运行这个文件,就能按照向导完成博客精灵 V1.5 的安装过程。安装过程中,软件可能会询问用户一些配置选项,例如安装路径、是否创建桌面快捷方式等,以便根据用户的偏好进行定制。 在使用博客精灵 V1.5 的...
6. **社区资源**:可能包含QT社区论坛链接、问答网站和博客文章,方便开发者交流问题和经验。 7. **平台适配**:由于QT是跨平台的,资料包中可能会有关于如何在不同操作系统(如Windows、Linux、macOS、Android、...
此外,**博客链接**(虽然已失效)通常会提供更深入的解释和示例,帮助初学者理解MFC表单向导的使用,包括如何处理用户交互、错误检查以及与其他MFC组件的集成。 总的来说,MFC表单向导是开发Windows桌面应用程序时...
接着上一篇博客,上一篇博客跟大家分享了三种开始页面的定时跳转,根据项目需求接下来就说一下向导页面吧!几乎每一个APP都有自己的向导页面,一般都是第一次安装的时或者第一次进入应用时才有向导页面的,就是只...
使用NISedit安装向导生成的脚本,大部分设置采用默认值,仅对不能通过编译的设置进行了修改。 该文档主要是用于作为《NSIS安装包》系列博客的示例。
在这种情况下,需要查阅相关文档或在线资源(如给出的博客链接:http://blog.csdn.net/laybor/article/details/11716779),了解如何在VS2010中适配MFC 2008的特定功能。 6. **调试和测试**: 完成代码编写后,...
安装完成后,根据向导或用户手册进行基本配置,例如设置数据存储位置、选择要采集的博客源等。 2. **目标博客定义**:在博客采集器中,你需要明确指定要抓取的博客源。这可能涉及到输入博客网址、筛选特定分类或者...
在链接提供的博客文章中,作者可能详细讲解了使用jQuery实现向导表单的源码过程,包括HTML布局、CSS样式和JavaScript逻辑。通过阅读这篇文章,你可以学习到实际的代码示例,这对于理解向导表单的工作原理和自定义...
即使对于没有编程经验的用户,也能通过其直观的界面和向导式操作快速上手。博客的模板设计多样化,允许用户根据自己的喜好和需求选择不同的外观和布局,打造独特的视觉风格。 其次,内容管理是锐傲博客的另一大亮点...
只需双击运行,按照向导提示一步步操作,即可轻松完成安装。值得注意的是,安装过程中要确保电脑已连接互联网,以便下载必要的组件和更新。 OpenLiveWriterSetup的另一个优势在于其开源性质。作为一款开源软件,它...
5. **运行安装向导**:访问服务器上的WordPress安装地址,按照向导提示输入数据库信息、站点设置等。 6. **安装主题和插件**:根据需要安装已选择的主题和插件,个性化博客功能和外观。 7. **定期更新**:为了安全和...
在Java编程领域,`WizardDialog` 和 `TitleAreaDialog` 是两种常见的对话框类,...如果你遇到任何问题或需要进一步的解释,请查阅SWT的官方文档,或者参考在线社区如ITEYE上的博客和讨论,那里通常有丰富的资源和解答。
1. **安装简便**:LnBlog 提供了一键安装向导,用户只需几步简单的操作即可完成博客的部署,大大降低了入门门槛。 2. **文章管理**:支持新建、编辑和删除文章,用户可以设置文章的状态(如草稿、发布)、分类、...
最后,访问域名或服务器IP,根据安装向导完成博客系统的安装。一旦安装完成,你就可以开始发布文章,享受属于自己的博客空间了。 总之,“个人php博客”结合了PHP技术与ThinksNS框架,为用户提供了强大且灵活的个人...
OpenBlog是一个使用CodeIgniterPHP开发框架构建的开源博客平台。拥有:简洁和易于使用的界面。易于安装-OpenBlog提供安装向导让安装与配置变得非常简单。支持多种语言。支持通过模板更换外观,默认安装包含5种模板供...
下载源码后,解压到服务器的Web根目录,配置好数据库连接信息,通过浏览器访问安装页面,按照向导进行数据库创建和配置。 **3. 数据库结构** Emlog的数据库设计包括了文章表、分类表、用户表、评论表等多个核心表。...
3.浏览器运行http://你的域名/install.asp,根据安装向导,填入相应信息(注意,这里放的目录是空间根目录,而不是你要安装的目录) 4.完成安装,开始PJBlog之旅! 温馨提示:系统默认账号admin,密码admin888 版本...
6. **备份工具的使用**:通常,备份工具会有一个用户友好的界面,用户只需按照向导操作,选择要备份的内容和目标位置,即可自动完成备份任务。对于“fitgorekongjianbf”这样的文件,可能需要运行该程序来启动备份...