分层的问题

primer_of_java 2008-10-29 11:55:13
目前偶还在学习j2ee,遇到个分层方面的问题,请教请教了

1.使用Hibernate框架,老师说hql语句也属于业务部分,应该放在业务层(BO和service,即模型和模型的服务方法)的service那一部分,但这样我总觉得很别扭,之前做了一个项目练习,sql语句是丢到DAO层的.
我感觉他这个说话又有道理,确实hql语句包含了业务,但是扔在service层又觉得别扭得很.请高手们指点咯~~

2.我们项目建模,都是从BO开始的,这样遵循OO思想.在使用了Hibernate以后,以前的PO就不是和数据库表完全对应的了,而是和BO更接近,然后通过配置文件映射,完成持久化的.那现在PO模型应该如何创建呢?数据库的表又该如何创建呢?
...全文
93 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
primer_of_java 2008-10-30
  • 打赏
  • 举报
回复
额,楼下的能顺便简单阐述下 domain bo servise 在业务层的关系,作用和指责么,这块我还比较年轻....
先谢谢了~~
primer_of_java 2008-10-30
  • 打赏
  • 举报
回复
他的意思是如果项目用hql代替sql的话,hql的增删改查其实就是业务部分,而dao层只是和数据库打交道,并不实现任何业务,所以应该把hql部分都在业务层构造好,传入dao层.
哦,对了,teacher意思是实际项目中存在这种分层方式,不过他没说他推荐与否 =.=!!

这话听起来感觉还是有一定道理啊,但以我的理解来看,总觉得很别扭
Landor2004 2008-10-29
  • 打赏
  • 举报
回复
1 dao层只是单一的增删改查询,当然一个很复杂的查询也是一个查询,也应该放入dao层;如果再复杂一些,包括一对增删改操作,那么他们的增、删、改,分别对应着dao等增删改,所以再业务层也看不到sql语句;所以我认为你老师说的有问题,除非他把dao层去掉,这还能说得通,现在用jpa的时候,我做小系统就不用dao层。

2 正常的都是设计业务对象,然后生成数据库,不过按照目前的大部分的设计是先进行数据库设计,然后逆向工程生成领域模型
sunhualong5560 2008-10-29
  • 打赏
  • 举报
回复
DAO是数据访问层 是访问数据库用的,我想访问数据库应该用sql或hql,
这么说那它就应该是DAO层的对吗?

业务逻辑简单说是对业务数据的处理,放的应该是对数据的操作,计算,处理.还有事务等.

po可通过反向工程来生成,必要的时候稍微修改一下就行.它会根据数据库表的关联关系生成的.

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧