日期:2014-05-20  浏览次数:20767 次

关于 hql 应该放在 MVC 哪一层的讨论,
一般来说应该遵循mvc的思想,将hql放在业务逻辑层中。可是Awake框架却将Hql放到了action中,这是不是有问题呢? 

  没有问题,原因: 

  1.业务逻辑层是将一系列业务操作的结果持久化到数据库,说白了更新数据库。 

  2.Awake框架是一个通用查询、分页、列表、统计框架,数据展现框架,没有业务逻辑的操作,说白了不更新数据库。 

  3.Awake框架本身实际上相当于vb控件,控件经过配置后就可以直接使用这个控件的功能了,Awake配置分为两个部分,一部分是xml,一部分就是hql,这部分通过hql解析器在Action中配置,我个人认为这样做更加方便快捷,更加直接。 

基于上面三点我将配置hql放到了Action中,不知道大家是否认同,请大家多多参与讨论。 


------解决方案--------------------
对awake框架不甚了解。
但是关于第一点我不敢苟同,
MVC中业务逻辑层的功能肯定不是把业务操作的结果持久化到数据库,这个功能应该是业务逻辑层的下层来做的事。
个人感觉把hql放到action中,应该也不是被禁止的吧,如果业务上需要,灵活一些也是可以的。