- 浏览: 212820 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (107)
- java网络通信(rmi,hessian,nio...) (4)
- java基础 (25)
- java压缩和解压缩 (1)
- 开发框架整合 (7)
- struts2.0 (3)
- 构建工具(ant,maven..) (1)
- web容器配置(tomcat,weblogic,nginx...) (3)
- hibernate (8)
- 业务(项目管理,项目设计相关) (5)
- 数据库(oracle,mysql..) (7)
- linux命令 (6)
- java网络通信(rmi (6)
- hessian (6)
- nio...) (6)
- 数据库(oracle (4)
- mysql..) (4)
- ibatis (2)
- 多线程 (1)
- Windows Install Clean Up 卸载JDK (1)
- IETEST (1)
- UML 类图 关系 (1)
- java基础 spring (2)
- NFS SFU (1)
- jmap mat jps (1)
- 架构 (1)
- 统一管理 (0)
- 项目管理 (1)
- 图片预加载 (1)
- 代码高亮 (1)
- 同步 (1)
- 权限管理 (0)
- ehcache ibatis (1)
- jd-gui proguard (1)
- portmon (1)
- procexp (1)
- mysql (1)
- NIO 内存映射文件 (1)
- web容器配置(tomcat (1)
- weblogic (1)
- nginx...) (1)
- WEB (1)
- html (1)
- javascript (1)
- iOS pods (1)
最新评论
-
vrbvillor:
我的QQ是245614005。如果您可以帮我的话,请发邮件或联 ...
mysql存储过程中使用动态SQL,并且返回值 -
vrbvillor:
大侠,请教一个问题。我想在mysql的function里边 ...
mysql存储过程中使用动态SQL,并且返回值 -
newslxw:
ppgunjack 写道关键要弄清楚,UAT用例是谁提供,谁评 ...
做到客户满意为止(项目成本控制相关主题) -
萧十一狼:
所有dao类都继承com.ibatis.sqlmap.clie ...
spring+ibatis整合方法 -
adss101:
一般项目就这块比较难控制,,弄不好就死在这了,,客户要求,对于 ...
做到客户满意为止(项目成本控制相关主题)
首先,我并不是一个hibernate开发的推崇者,也不精通hibernate,只是在某几个项目上用到了hibernate,下面是我的感受:
1、lazy加载,经常带来问题
2、级联保存常带来问题,所以我开发是都不用级联保存
3、主键的native要求主键使用number类型,给设计带来麻烦
4、很多人开发是不设计表结构,而是用hibernate来生产数据库,对维护带来很多影响
5、处理复杂SQL,还是需要用SQL而不能用HQL,导致语言混杂,增加维护成本
6、大数据量时,很容易出现问题
7、不适合新人使用,项目中往往有工作经验较低的人,使用hibernate往往容易出错
我对持久层框架要求很简单:
1、自动POJO到数据,或者数据库到POJO
2、适度缓存
如果不是项目要求,我更倾向选择ibatis。
很好很强大,每当有人抱怨Hibernate时,总会有人站出来说“其实Hibernate可以和SQL混搭”。
使得,他们确实可以混搭,不过我想楼主抱怨的是Hibernate不混搭纯SQL的情况。
首先,我并不是一个hibernate开发的推崇者,也不精通hibernate,只是在某几个项目上用到了hibernate,下面是我的感受:
1、lazy加载,经常带来问题
2、级联保存常带来问题,所以我开发是都不用级联保存
3、主键的native要求主键使用number类型,给设计带来麻烦
4、很多人开发是不设计表结构,而是用hibernate来生产数据库,对维护带来很多影响
5、处理复杂SQL,还是需要用SQL而不能用HQL,导致语言混杂,增加维护成本
6、大数据量时,很容易出现问题
7、不适合新人使用,项目中往往有工作经验较低的人,使用hibernate往往容易出错
我对持久层框架要求很简单:
1、自动POJO到数据,或者数据库到POJO
2、适度缓存
如果不是项目要求,我更倾向选择ibatis。
1,没说要强制lazy
2,级联保存不代表数据库就是级联的.而且请举例问题?
3,我怎么不知道主键强制使用number,那你们是用什么?
4,正向工程和逆向工程是你自己选择的
5,你来句SQL,只要你表设计是合理的我就能用HQL或者QBC帮你写出来.写不出来十有八九是数据表设计有问题
6,大量是多少?我们查询40w条数据也没发现问题么?难道不用分页?
7,这个我认同
综上所述,你的感受大多数是因为你也不熟悉Hibernate.我不反对MyBatis,但是MyBatis还不如DBUtils和SpringJDBC Template
------------------------------------------------------------------
表一:用户登记表(USER_INFO)
主键 用户名
userId userName
表二:角色表(USER_ROLE)
主键 角色名
roleCode roleName
表三:用户-角色映射表(USER_ROLE_MAPPING)
用户ID 角色ID
userId roleCode
表四:权限表(USER_PERMISSION)
权限ID 权限名称
permissionCode permissionName
表五:角色权限映射表(ROLE_PERMISSION_MAPPING)
角色ID 权限ID
roleCode permissionCode
表五点二:用户权限直接映射表(USER_PERMISSION_MAPPING)
用户ID 权限ID
userId permissionCode
表六:产品订单表(PROD_ORDER)
订单ID 创建日期
orderId lastUpdateTime
表七:产品登记表(PROD_PRODUCT)
产品ID 产品名称 产品单价 折扣 实价
prodId prodName price discount actual_prices
表八:产品-产品订单映射表(PROD_PRODUCT_ORDER_MAPPING)
产品ID 订单ID 购买数量 本类产品价格总计
prodId orderId prodQuantity totalPrice
其他表:用户组表、订单分类表、产品分类表、订单流转记录表、部门表、职位表、用户部门映射表……
问题:
请查询角色编码是“salesman”,并且拥有“sellingCars”权限,本月销售奥迪A6产品超过100辆,且实际单价不低于50万的用户的前三十名。
上面这些表是我临时设计的,可能有些地方不合理,但是应该是普通软件中比较常见的应用情景,请问阁下如何使用Hibernate来实现上述查询?求教。
试试考虑下视图和Assigned。
很多涉及到数据库的应用,都不能完全使用Hibernate来但当持久层;但是所有的涉及到数据库的应用,都可以100%使用SQL(直接使用,或者自己封装,或者直接使用MyBatis)来实现,这就是问题所在。也就是说,Hibernate如果完全抛弃了原生SQL,只是个独臂大侠。
Hibernate完全抛弃了原生SQL?? 没听说过。
请参见 http://docs.jboss.org/hibernate/core/3.6/reference/zh-CN/html/querysql.html
如楼上所说,功夫不好,就怨武器不行。有人拿菜刀就可以屠龙,有人拿屠龙刀却被龙屠。
多花点时间认真看看Start Guide, Reference。你的问题95%在里面都能找到答案或提示。剩下5% Google可以告诉你。
我的意思是“如果Hibernate不使用原生SQL,只是个独臂大侠”,而不是说“Hibernate中不能使用原生SQL”。
在Hibernate中使用原生SQL,完成Hibernate不善于完成的功能,然后把这一切都说是Hibernate的伟大,是不是把原生SQL的贡献强加给了Hibernate?
每当有人抱怨Hibernate的时候,总是有“大侠”跳出来说:“其实Hibernate中可以使用原生SQL,也就是Hibernate混搭SQL”。
是的,他们确实可以混搭,不过我想楼主抱怨的是“Hibernate不混搭原生SQL”的情况。
如果考虑Hibernate混搭原生SQL,那讨论这个帖子还有什么意义,Hibernate已经是继承了纯SQL的所有特点了,它已经是天下无敌了。
另:你来回复我的帖子,外人看了好像我是你的马甲,^_^。
首先,我并不是一个hibernate开发的推崇者,也不精通hibernate,只是在某几个项目上用到了hibernate,下面是我的感受:
1、lazy加载,经常带来问题
2、级联保存常带来问题,所以我开发是都不用级联保存
3、主键的native要求主键使用number类型,给设计带来麻烦
4、很多人开发是不设计表结构,而是用hibernate来生产数据库,对维护带来很多影响
5、处理复杂SQL,还是需要用SQL而不能用HQL,导致语言混杂,增加维护成本
6、大数据量时,很容易出现问题
7、不适合新人使用,项目中往往有工作经验较低的人,使用hibernate往往容易出错
我对持久层框架要求很简单:
1、自动POJO到数据,或者数据库到POJO
2、适度缓存
如果不是项目要求,我更倾向选择ibatis。
1,没说要强制lazy
2,级联保存不代表数据库就是级联的.而且请举例问题?
3,我怎么不知道主键强制使用number,那你们是用什么?
4,正向工程和逆向工程是你自己选择的
5,你来句SQL,只要你表设计是合理的我就能用HQL或者QBC帮你写出来.写不出来十有八九是数据表设计有问题
6,大量是多少?我们查询40w条数据也没发现问题么?难道不用分页?
7,这个我认同
综上所述,你的感受大多数是因为你也不熟悉Hibernate.我不反对MyBatis,但是MyBatis还不如DBUtils和SpringJDBC Template
------------------------------------------------------------------
表一:用户登记表(USER_INFO)
主键 用户名
userId userName
表二:角色表(USER_ROLE)
主键 角色名
roleCode roleName
表三:用户-角色映射表(USER_ROLE_MAPPING)
用户ID 角色ID
userId roleCode
表四:权限表(USER_PERMISSION)
权限ID 权限名称
permissionCode permissionName
表五:角色权限映射表(ROLE_PERMISSION_MAPPING)
角色ID 权限ID
roleCode permissionCode
表五点二:用户权限直接映射表(USER_PERMISSION_MAPPING)
用户ID 权限ID
userId permissionCode
表六:产品订单表(PROD_ORDER)
订单ID 创建日期
orderId lastUpdateTime
表七:产品登记表(PROD_PRODUCT)
产品ID 产品名称 产品单价 折扣 实价
prodId prodName price discount actual_prices
表八:产品-产品订单映射表(PROD_PRODUCT_ORDER_MAPPING)
产品ID 订单ID 购买数量 本类产品价格总计
prodId orderId prodQuantity totalPrice
其他表:用户组表、订单分类表、产品分类表、订单流转记录表、部门表、职位表、用户部门映射表……
问题:
请查询角色编码是“salesman”,并且拥有“sellingCars”权限,本月销售奥迪A6产品超过100辆,且实际单价不低于50万的用户的前三十名。
上面这些表是我临时设计的,可能有些地方不合理,但是应该是普通软件中比较常见的应用情景,请问阁下如何使用Hibernate来实现上述查询?求教。
试试考虑下视图和Assigned。
很多涉及到数据库的应用,都不能完全使用Hibernate来但当持久层;但是所有的涉及到数据库的应用,都可以100%使用SQL(直接使用,或者自己封装,或者直接使用MyBatis)来实现,这就是问题所在。也就是说,Hibernate完全抛弃了原生SQL,只是个独臂大侠。
Hibernate完全抛弃了原生SQL?? 没听说过。
请参见 http://docs.jboss.org/hibernate/core/3.6/reference/zh-CN/html/querysql.html
如楼上所说,功夫不好,就怨武器不行。有人拿菜刀就可以屠龙,有人拿屠龙刀却被龙屠。
多花点时间认真看看Start Guide, Reference。你的问题95%在里面都能找到答案或提示。剩下5% Google可以告诉你。
首先,我并不是一个hibernate开发的推崇者,也不精通hibernate,只是在某几个项目上用到了hibernate,下面是我的感受:
1、lazy加载,经常带来问题
2、级联保存常带来问题,所以我开发是都不用级联保存
3、主键的native要求主键使用number类型,给设计带来麻烦
4、很多人开发是不设计表结构,而是用hibernate来生产数据库,对维护带来很多影响
5、处理复杂SQL,还是需要用SQL而不能用HQL,导致语言混杂,增加维护成本
6、大数据量时,很容易出现问题
7、不适合新人使用,项目中往往有工作经验较低的人,使用hibernate往往容易出错
我对持久层框架要求很简单:
1、自动POJO到数据,或者数据库到POJO
2、适度缓存
如果不是项目要求,我更倾向选择ibatis。
1,没说要强制lazy
2,级联保存不代表数据库就是级联的.而且请举例问题?
3,我怎么不知道主键强制使用number,那你们是用什么?
4,正向工程和逆向工程是你自己选择的
5,你来句SQL,只要你表设计是合理的我就能用HQL或者QBC帮你写出来.写不出来十有八九是数据表设计有问题
6,大量是多少?我们查询40w条数据也没发现问题么?难道不用分页?
7,这个我认同
综上所述,你的感受大多数是因为你也不熟悉Hibernate.我不反对MyBatis,但是MyBatis还不如DBUtils和SpringJDBC Template
------------------------------------------------------------------
表一:用户登记表(USER_INFO)
主键 用户名
userId userName
表二:角色表(USER_ROLE)
主键 角色名
roleCode roleName
表三:用户-角色映射表(USER_ROLE_MAPPING)
用户ID 角色ID
userId roleCode
表四:权限表(USER_PERMISSION)
权限ID 权限名称
permissionCode permissionName
表五:角色权限映射表(ROLE_PERMISSION_MAPPING)
角色ID 权限ID
roleCode permissionCode
表五点二:用户权限直接映射表(USER_PERMISSION_MAPPING)
用户ID 权限ID
userId permissionCode
表六:产品订单表(PROD_ORDER)
订单ID 创建日期
orderId lastUpdateTime
表七:产品登记表(PROD_PRODUCT)
产品ID 产品名称 产品单价 折扣 实价
prodId prodName price discount actual_prices
表八:产品-产品订单映射表(PROD_PRODUCT_ORDER_MAPPING)
产品ID 订单ID 购买数量 本类产品价格总计
prodId orderId prodQuantity totalPrice
其他表:用户组表、订单分类表、产品分类表、订单流转记录表、部门表、职位表、用户部门映射表……
问题:
请查询角色编码是“salesman”,并且拥有“sellingCars”权限,本月销售奥迪A6产品超过100辆,且实际单价不低于50万的用户的前三十名。
上面这些表是我临时设计的,可能有些地方不合理,但是应该是普通软件中比较常见的应用情景,请问阁下如何使用Hibernate来实现上述查询?求教。
试试考虑下视图和Assigned。
很多涉及到数据库的应用,都不能完全使用Hibernate来但当持久层;但是所有的涉及到数据库的应用,都可以100%使用SQL(直接使用,或者自己封装,或者直接使用MyBatis)来实现,这就是问题所在。使用view,把所有的逻辑推迟到view中使用原生SQL来解决,这只能说明一个问题:Hibernate如果完全抛弃了原生SQL,只是个独臂大侠。
另外,如果查询是多条件组合查询,是用页面上的选择来合成的,你如何使用view,难道你打算动态生成view?
5,你来句SQL,只要你表设计是合理的我就能用HQL或者QBC帮你写出来.写不出来十有八九是数据表设计有问题
综上所述,你的感受大多数是因为你也不熟悉Hibernate.我不反对MyBatis,但是MyBatis还不如DBUtils和SpringJDBC Template
两个都不完全认同,我来举个例子:
给出SQL或HQL或QBC求出每门课前十名的学生记录?
用sql写这个比较顺手.我只会oracle - -.
SELECT * FROM (
SELECT A.*, ROW_NUMBER() OVER(PARTITION BY CID ORDER BY VAULE DESC) RANK
FROM (SELECT X.*, S.NAME SNAME, C.NAME CNAME
FROM A_STUDENT S, A_COURSE C, A_SCORE X
WHERE X.SID = S.ID
AND X.CID = C.ID) A )WHERE rank<=10
首先,我并不是一个hibernate开发的推崇者,也不精通hibernate,只是在某几个项目上用到了hibernate,下面是我的感受:
1、lazy加载,经常带来问题
2、级联保存常带来问题,所以我开发是都不用级联保存
3、主键的native要求主键使用number类型,给设计带来麻烦
4、很多人开发是不设计表结构,而是用hibernate来生产数据库,对维护带来很多影响
5、处理复杂SQL,还是需要用SQL而不能用HQL,导致语言混杂,增加维护成本
6、大数据量时,很容易出现问题
7、不适合新人使用,项目中往往有工作经验较低的人,使用hibernate往往容易出错
我对持久层框架要求很简单:
1、自动POJO到数据,或者数据库到POJO
2、适度缓存
如果不是项目要求,我更倾向选择ibatis。
1,没说要强制lazy
2,级联保存不代表数据库就是级联的.而且请举例问题?
3,我怎么不知道主键强制使用number,那你们是用什么?
4,正向工程和逆向工程是你自己选择的
5,你来句SQL,只要你表设计是合理的我就能用HQL或者QBC帮你写出来.写不出来十有八九是数据表设计有问题
6,大量是多少?我们查询40w条数据也没发现问题么?难道不用分页?
7,这个我认同
综上所述,你的感受大多数是因为你也不熟悉Hibernate.我不反对MyBatis,但是MyBatis还不如DBUtils和SpringJDBC Template
------------------------------------------------------------------
表一:用户登记表(USER_INFO)
主键 用户名
userId userName
表二:角色表(USER_ROLE)
主键 角色名
roleCode roleName
表三:用户-角色映射表(USER_ROLE_MAPPING)
用户ID 角色ID
userId roleCode
表四:权限表(USER_PERMISSION)
权限ID 权限名称
permissionCode permissionName
表五:角色权限映射表(ROLE_PERMISSION_MAPPING)
角色ID 权限ID
roleCode permissionCode
表五点二:用户权限直接映射表(USER_PERMISSION_MAPPING)
用户ID 权限ID
userId permissionCode
表六:产品订单表(PROD_ORDER)
订单ID 创建日期
orderId lastUpdateTime
表七:产品登记表(PROD_PRODUCT)
产品ID 产品名称 产品单价 折扣 实价
prodId prodName price discount actual_prices
表八:产品-产品订单映射表(PROD_PRODUCT_ORDER_MAPPING)
产品ID 订单ID 购买数量 本类产品价格总计
prodId orderId prodQuantity totalPrice
其他表:用户组表、订单分类表、产品分类表、订单流转记录表、部门表、职位表、用户部门映射表……
问题:
请查询角色编码是“salesman”,并且拥有“sellingCars”权限,本月销售奥迪A6产品超过100辆,且实际单价不低于50万的用户的前三十名。
上面这些表是我临时设计的,可能有些地方不合理,但是应该是普通软件中比较常见的应用情景,请问阁下如何使用Hibernate来实现上述查询?求教。
试试考虑下视图和Assigned。
首先,我并不是一个hibernate开发的推崇者,也不精通hibernate,只是在某几个项目上用到了hibernate,下面是我的感受:
1、lazy加载,经常带来问题
2、级联保存常带来问题,所以我开发是都不用级联保存
3、主键的native要求主键使用number类型,给设计带来麻烦
4、很多人开发是不设计表结构,而是用hibernate来生产数据库,对维护带来很多影响
5、处理复杂SQL,还是需要用SQL而不能用HQL,导致语言混杂,增加维护成本
6、大数据量时,很容易出现问题
7、不适合新人使用,项目中往往有工作经验较低的人,使用hibernate往往容易出错
我对持久层框架要求很简单:
1、自动POJO到数据,或者数据库到POJO
2、适度缓存
如果不是项目要求,我更倾向选择ibatis。
1,没说要强制lazy
2,级联保存不代表数据库就是级联的.而且请举例问题?
3,我怎么不知道主键强制使用number,那你们是用什么?
4,正向工程和逆向工程是你自己选择的
5,你来句SQL,只要你表设计是合理的我就能用HQL或者QBC帮你写出来.写不出来十有八九是数据表设计有问题
6,大量是多少?我们查询40w条数据也没发现问题么?难道不用分页?
7,这个我认同
综上所述,你的感受大多数是因为你也不熟悉Hibernate.我不反对MyBatis,但是MyBatis还不如DBUtils和SpringJDBC Template
恩,说的很有道理。补充下我的一些意见。
主键number不用,你可以用Assigned的嘛。
复杂sql查询还可以建视图去实现。
首先,我并不是一个hibernate开发的推崇者,也不精通hibernate,只是在某几个项目上用到了hibernate,下面是我的感受:
1、lazy加载,经常带来问题
2、级联保存常带来问题,所以我开发是都不用级联保存
3、主键的native要求主键使用number类型,给设计带来麻烦
4、很多人开发是不设计表结构,而是用hibernate来生产数据库,对维护带来很多影响
5、处理复杂SQL,还是需要用SQL而不能用HQL,导致语言混杂,增加维护成本
6、大数据量时,很容易出现问题
7、不适合新人使用,项目中往往有工作经验较低的人,使用hibernate往往容易出错
我对持久层框架要求很简单:
1、自动POJO到数据,或者数据库到POJO
2、适度缓存
如果不是项目要求,我更倾向选择ibatis。
1,没说要强制lazy
2,级联保存不代表数据库就是级联的.而且请举例问题?
3,我怎么不知道主键强制使用number,那你们是用什么?
4,正向工程和逆向工程是你自己选择的
5,你来句SQL,只要你表设计是合理的我就能用HQL或者QBC帮你写出来.写不出来十有八九是数据表设计有问题
6,大量是多少?我们查询40w条数据也没发现问题么?难道不用分页?
7,这个我认同
综上所述,你的感受大多数是因为你也不熟悉Hibernate.我不反对MyBatis,但是MyBatis还不如DBUtils和SpringJDBC Template
------------------------------------------------------------------
表一:用户登记表(USER_INFO)
主键 用户名
userId userName
表二:角色表(USER_ROLE)
主键 角色名
roleCode roleName
表三:用户-角色映射表(USER_ROLE_MAPPING)
用户ID 角色ID
userId roleCode
表四:权限表(USER_PERMISSION)
权限ID 权限名称
permissionCode permissionName
表五:角色权限映射表(ROLE_PERMISSION_MAPPING)
角色ID 权限ID
roleCode permissionCode
表五点二:用户权限直接映射表(USER_PERMISSION_MAPPING)
用户ID 权限ID
userId permissionCode
表六:产品订单表(PROD_ORDER)
订单ID 创建日期
orderId lastUpdateTime
表七:产品登记表(PROD_PRODUCT)
产品ID 产品名称 产品单价 折扣 实价
prodId prodName price discount actual_prices
表八:产品-产品订单映射表(PROD_PRODUCT_ORDER_MAPPING)
产品ID 订单ID 购买数量 本类产品价格总计
prodId orderId prodQuantity totalPrice
其他表:用户组表、订单分类表、产品分类表、订单流转记录表、部门表、职位表、用户部门映射表……
问题:
请查询角色编码是“salesman”,并且拥有“sellingCars”权限,本月销售奥迪A6产品超过100辆,且实际单价不低于50万的用户的前三十名。
上面这些表是我临时设计的,可能有些地方不合理,但是应该是普通软件中比较常见的应用情景,请问阁下如何使用Hibernate来实现上述查询?求教。
5,你来句SQL,只要你表设计是合理的我就能用HQL或者QBC帮你写出来.写不出来十有八九是数据表设计有问题
综上所述,你的感受大多数是因为你也不熟悉Hibernate.我不反对MyBatis,但是MyBatis还不如DBUtils和SpringJDBC Template
两个都不完全认同,我来举个例子:
给出SQL或HQL或QBC求出每门课前十名的学生记录?
我只知道普通SQL可以这样写,HQL不熟悉,不过我还是建议使用Hibernate,熟悉后应该很好用:
SELECT *
FROM T_SCORE T, (
SELECT MAX(SCORE_VALUE) MAX_SCORE, COURSE_ID
FROM T_SCORE
GROUP BY COURSE_ID
) TS
WHERE T.SCORE_VALUE = TS.MAX_SCORE
AND T.COURSE_ID = TS.COURSE_ID
AND ROWNUM <= 10
1、lazy加载,经常带来问题
2、级联保存常带来问题,所以我开发是都不用级联保存
3、主键的native要求主键使用number类型,给设计带来麻烦
4、很多人开发是不设计表结构,而是用hibernate来生产数据库,对维护带来很多影响
5、处理复杂SQL,还是需要用SQL而不能用HQL,导致语言混杂,增加维护成本
6、大数据量时,很容易出现问题
7、不适合新人使用,项目中往往有工作经验较低的人,使用hibernate往往容易出错
我对持久层框架要求很简单:
1、自动POJO到数据,或者数据库到POJO
2、适度缓存
如果不是项目要求,我更倾向选择ibatis。
评论
27 楼
EdwardWorld
2011-04-26
hua0424 写道
我看楼主的问题,大多是你要往不好的地方使用hibernate啊,没人强迫你一定要这么用。关于SQL的问题,我想什么工具都没有万能的,复杂的语句用SQL又有什么呢?80%是简单语句。
不要告诉我你们写hibernate的工程师,连SQL语句都不会,只会SQL
不要告诉我你们写hibernate的工程师,连SQL语句都不会,只会SQL
很好很强大,每当有人抱怨Hibernate时,总会有人站出来说“其实Hibernate可以和SQL混搭”。
使得,他们确实可以混搭,不过我想楼主抱怨的是Hibernate不混搭纯SQL的情况。
26 楼
hua0424
2011-04-26
我看楼主的问题,大多是你要往不好的地方使用hibernate啊,没人强迫你一定要这么用。关于SQL的问题,我想什么工具都没有万能的,复杂的语句用SQL又有什么呢?80%是简单语句。
不要告诉我你们写hibernate的工程师,连SQL语句都不会,只会SQL
不要告诉我你们写hibernate的工程师,连SQL语句都不会,只会SQL
25 楼
EdwardWorld
2011-04-26
Edward 写道
EdwardWorld 写道
sheep3600 写道
EdwardWorld 写道
KimShen 写道
newslxw 写道
首先,我并不是一个hibernate开发的推崇者,也不精通hibernate,只是在某几个项目上用到了hibernate,下面是我的感受:
1、lazy加载,经常带来问题
2、级联保存常带来问题,所以我开发是都不用级联保存
3、主键的native要求主键使用number类型,给设计带来麻烦
4、很多人开发是不设计表结构,而是用hibernate来生产数据库,对维护带来很多影响
5、处理复杂SQL,还是需要用SQL而不能用HQL,导致语言混杂,增加维护成本
6、大数据量时,很容易出现问题
7、不适合新人使用,项目中往往有工作经验较低的人,使用hibernate往往容易出错
我对持久层框架要求很简单:
1、自动POJO到数据,或者数据库到POJO
2、适度缓存
如果不是项目要求,我更倾向选择ibatis。
1,没说要强制lazy
2,级联保存不代表数据库就是级联的.而且请举例问题?
3,我怎么不知道主键强制使用number,那你们是用什么?
4,正向工程和逆向工程是你自己选择的
5,你来句SQL,只要你表设计是合理的我就能用HQL或者QBC帮你写出来.写不出来十有八九是数据表设计有问题
6,大量是多少?我们查询40w条数据也没发现问题么?难道不用分页?
7,这个我认同
综上所述,你的感受大多数是因为你也不熟悉Hibernate.我不反对MyBatis,但是MyBatis还不如DBUtils和SpringJDBC Template
------------------------------------------------------------------
表一:用户登记表(USER_INFO)
引用
主键 用户名
userId userName
表二:角色表(USER_ROLE)
引用
主键 角色名
roleCode roleName
表三:用户-角色映射表(USER_ROLE_MAPPING)
引用
用户ID 角色ID
userId roleCode
表四:权限表(USER_PERMISSION)
引用
权限ID 权限名称
permissionCode permissionName
表五:角色权限映射表(ROLE_PERMISSION_MAPPING)
引用
角色ID 权限ID
roleCode permissionCode
表五点二:用户权限直接映射表(USER_PERMISSION_MAPPING)
引用
用户ID 权限ID
userId permissionCode
表六:产品订单表(PROD_ORDER)
引用
订单ID 创建日期
orderId lastUpdateTime
表七:产品登记表(PROD_PRODUCT)
引用
产品ID 产品名称 产品单价 折扣 实价
prodId prodName price discount actual_prices
表八:产品-产品订单映射表(PROD_PRODUCT_ORDER_MAPPING)
引用
产品ID 订单ID 购买数量 本类产品价格总计
prodId orderId prodQuantity totalPrice
其他表:用户组表、订单分类表、产品分类表、订单流转记录表、部门表、职位表、用户部门映射表……
问题:
请查询角色编码是“salesman”,并且拥有“sellingCars”权限,本月销售奥迪A6产品超过100辆,且实际单价不低于50万的用户的前三十名。
上面这些表是我临时设计的,可能有些地方不合理,但是应该是普通软件中比较常见的应用情景,请问阁下如何使用Hibernate来实现上述查询?求教。
试试考虑下视图和Assigned。
很多涉及到数据库的应用,都不能完全使用Hibernate来但当持久层;但是所有的涉及到数据库的应用,都可以100%使用SQL(直接使用,或者自己封装,或者直接使用MyBatis)来实现,这就是问题所在。也就是说,Hibernate如果完全抛弃了原生SQL,只是个独臂大侠。
Hibernate完全抛弃了原生SQL?? 没听说过。
请参见 http://docs.jboss.org/hibernate/core/3.6/reference/zh-CN/html/querysql.html
amonlei 写道
有这么一句话:没有不好的景色只有不好的摄影师。楼主武艺不精,全赖刀上了。hibernate不是刚出来的东西。
如楼上所说,功夫不好,就怨武器不行。有人拿菜刀就可以屠龙,有人拿屠龙刀却被龙屠。
多花点时间认真看看Start Guide, Reference。你的问题95%在里面都能找到答案或提示。剩下5% Google可以告诉你。
我的意思是“如果Hibernate不使用原生SQL,只是个独臂大侠”,而不是说“Hibernate中不能使用原生SQL”。
在Hibernate中使用原生SQL,完成Hibernate不善于完成的功能,然后把这一切都说是Hibernate的伟大,是不是把原生SQL的贡献强加给了Hibernate?
每当有人抱怨Hibernate的时候,总是有“大侠”跳出来说:“其实Hibernate中可以使用原生SQL,也就是Hibernate混搭SQL”。
是的,他们确实可以混搭,不过我想楼主抱怨的是“Hibernate不混搭原生SQL”的情况。
如果考虑Hibernate混搭原生SQL,那讨论这个帖子还有什么意义,Hibernate已经是继承了纯SQL的所有特点了,它已经是天下无敌了。
另:你来回复我的帖子,外人看了好像我是你的马甲,^_^。
24 楼
sky_dream
2011-04-26
有时候数据库设计太细,圈复杂度就上去了,前一个组件的圈复杂度达到158,oh, my god.
23 楼
sky_dream
2011-04-26
hibernate强大是毋庸置疑的,对开发者的要求也高,数据库最好要设计到第三范式,级联查询、保存时候你就体会到。
22 楼
孤独枫
2011-04-26
很有同感,在我们公司技术选型也有很多声音,有些同事或者低调不作声;
其实个人认为hibernate是把双刃剑,它应该很成熟,就看你的领悟程度,新手或经验不足 还是慎用,或用它最基本的面,不用级联,不用缓存,只用get,也不失时明智的选择!
其实个人认为hibernate是把双刃剑,它应该很成熟,就看你的领悟程度,新手或经验不足 还是慎用,或用它最基本的面,不用级联,不用缓存,只用get,也不失时明智的选择!
21 楼
Edward
2011-04-26
EdwardWorld 写道
sheep3600 写道
EdwardWorld 写道
KimShen 写道
newslxw 写道
首先,我并不是一个hibernate开发的推崇者,也不精通hibernate,只是在某几个项目上用到了hibernate,下面是我的感受:
1、lazy加载,经常带来问题
2、级联保存常带来问题,所以我开发是都不用级联保存
3、主键的native要求主键使用number类型,给设计带来麻烦
4、很多人开发是不设计表结构,而是用hibernate来生产数据库,对维护带来很多影响
5、处理复杂SQL,还是需要用SQL而不能用HQL,导致语言混杂,增加维护成本
6、大数据量时,很容易出现问题
7、不适合新人使用,项目中往往有工作经验较低的人,使用hibernate往往容易出错
我对持久层框架要求很简单:
1、自动POJO到数据,或者数据库到POJO
2、适度缓存
如果不是项目要求,我更倾向选择ibatis。
1,没说要强制lazy
2,级联保存不代表数据库就是级联的.而且请举例问题?
3,我怎么不知道主键强制使用number,那你们是用什么?
4,正向工程和逆向工程是你自己选择的
5,你来句SQL,只要你表设计是合理的我就能用HQL或者QBC帮你写出来.写不出来十有八九是数据表设计有问题
6,大量是多少?我们查询40w条数据也没发现问题么?难道不用分页?
7,这个我认同
综上所述,你的感受大多数是因为你也不熟悉Hibernate.我不反对MyBatis,但是MyBatis还不如DBUtils和SpringJDBC Template
------------------------------------------------------------------
表一:用户登记表(USER_INFO)
引用
主键 用户名
userId userName
表二:角色表(USER_ROLE)
引用
主键 角色名
roleCode roleName
表三:用户-角色映射表(USER_ROLE_MAPPING)
引用
用户ID 角色ID
userId roleCode
表四:权限表(USER_PERMISSION)
引用
权限ID 权限名称
permissionCode permissionName
表五:角色权限映射表(ROLE_PERMISSION_MAPPING)
引用
角色ID 权限ID
roleCode permissionCode
表五点二:用户权限直接映射表(USER_PERMISSION_MAPPING)
引用
用户ID 权限ID
userId permissionCode
表六:产品订单表(PROD_ORDER)
引用
订单ID 创建日期
orderId lastUpdateTime
表七:产品登记表(PROD_PRODUCT)
引用
产品ID 产品名称 产品单价 折扣 实价
prodId prodName price discount actual_prices
表八:产品-产品订单映射表(PROD_PRODUCT_ORDER_MAPPING)
引用
产品ID 订单ID 购买数量 本类产品价格总计
prodId orderId prodQuantity totalPrice
其他表:用户组表、订单分类表、产品分类表、订单流转记录表、部门表、职位表、用户部门映射表……
问题:
请查询角色编码是“salesman”,并且拥有“sellingCars”权限,本月销售奥迪A6产品超过100辆,且实际单价不低于50万的用户的前三十名。
上面这些表是我临时设计的,可能有些地方不合理,但是应该是普通软件中比较常见的应用情景,请问阁下如何使用Hibernate来实现上述查询?求教。
试试考虑下视图和Assigned。
很多涉及到数据库的应用,都不能完全使用Hibernate来但当持久层;但是所有的涉及到数据库的应用,都可以100%使用SQL(直接使用,或者自己封装,或者直接使用MyBatis)来实现,这就是问题所在。也就是说,Hibernate完全抛弃了原生SQL,只是个独臂大侠。
Hibernate完全抛弃了原生SQL?? 没听说过。
请参见 http://docs.jboss.org/hibernate/core/3.6/reference/zh-CN/html/querysql.html
amonlei 写道
有这么一句话:没有不好的景色只有不好的摄影师。楼主武艺不精,全赖刀上了。hibernate不是刚出来的东西。
如楼上所说,功夫不好,就怨武器不行。有人拿菜刀就可以屠龙,有人拿屠龙刀却被龙屠。
多花点时间认真看看Start Guide, Reference。你的问题95%在里面都能找到答案或提示。剩下5% Google可以告诉你。
20 楼
hbdzhm
2011-04-26
似乎你的抱怨都是hibernate的优点。。。。
19 楼
EdwardWorld
2011-04-26
EdwardWorld 写道
EdwardWorld 写道
sheep3600 写道
EdwardWorld 写道
KimShen 写道
newslxw 写道
首先,我并不是一个hibernate开发的推崇者,也不精通hibernate,只是在某几个项目上用到了hibernate,下面是我的感受:
1、lazy加载,经常带来问题
2、级联保存常带来问题,所以我开发是都不用级联保存
3、主键的native要求主键使用number类型,给设计带来麻烦
4、很多人开发是不设计表结构,而是用hibernate来生产数据库,对维护带来很多影响
5、处理复杂SQL,还是需要用SQL而不能用HQL,导致语言混杂,增加维护成本
6、大数据量时,很容易出现问题
7、不适合新人使用,项目中往往有工作经验较低的人,使用hibernate往往容易出错
我对持久层框架要求很简单:
1、自动POJO到数据,或者数据库到POJO
2、适度缓存
如果不是项目要求,我更倾向选择ibatis。
1,没说要强制lazy
2,级联保存不代表数据库就是级联的.而且请举例问题?
3,我怎么不知道主键强制使用number,那你们是用什么?
4,正向工程和逆向工程是你自己选择的
5,你来句SQL,只要你表设计是合理的我就能用HQL或者QBC帮你写出来.写不出来十有八九是数据表设计有问题
6,大量是多少?我们查询40w条数据也没发现问题么?难道不用分页?
7,这个我认同
综上所述,你的感受大多数是因为你也不熟悉Hibernate.我不反对MyBatis,但是MyBatis还不如DBUtils和SpringJDBC Template
------------------------------------------------------------------
表一:用户登记表(USER_INFO)
引用
主键 用户名
userId userName
表二:角色表(USER_ROLE)
引用
主键 角色名
roleCode roleName
表三:用户-角色映射表(USER_ROLE_MAPPING)
引用
用户ID 角色ID
userId roleCode
表四:权限表(USER_PERMISSION)
引用
权限ID 权限名称
permissionCode permissionName
表五:角色权限映射表(ROLE_PERMISSION_MAPPING)
引用
角色ID 权限ID
roleCode permissionCode
表五点二:用户权限直接映射表(USER_PERMISSION_MAPPING)
引用
用户ID 权限ID
userId permissionCode
表六:产品订单表(PROD_ORDER)
引用
订单ID 创建日期
orderId lastUpdateTime
表七:产品登记表(PROD_PRODUCT)
引用
产品ID 产品名称 产品单价 折扣 实价
prodId prodName price discount actual_prices
表八:产品-产品订单映射表(PROD_PRODUCT_ORDER_MAPPING)
引用
产品ID 订单ID 购买数量 本类产品价格总计
prodId orderId prodQuantity totalPrice
其他表:用户组表、订单分类表、产品分类表、订单流转记录表、部门表、职位表、用户部门映射表……
问题:
请查询角色编码是“salesman”,并且拥有“sellingCars”权限,本月销售奥迪A6产品超过100辆,且实际单价不低于50万的用户的前三十名。
上面这些表是我临时设计的,可能有些地方不合理,但是应该是普通软件中比较常见的应用情景,请问阁下如何使用Hibernate来实现上述查询?求教。
试试考虑下视图和Assigned。
很多涉及到数据库的应用,都不能完全使用Hibernate来但当持久层;但是所有的涉及到数据库的应用,都可以100%使用SQL(直接使用,或者自己封装,或者直接使用MyBatis)来实现,这就是问题所在。使用view,把所有的逻辑推迟到view中使用原生SQL来解决,这只能说明一个问题:Hibernate如果完全抛弃了原生SQL,只是个独臂大侠。
另外,如果查询是多条件组合查询,是用页面上的选择来合成的,你如何使用view,难道你打算动态生成view?
18 楼
EdwardWorld
2011-04-26
不知道为什么,发表回复时一下子提交了这么多,内容都一样。
17 楼
EdwardWorld
2011-04-26
不知道为什么,发表回复时一下子提交了这么多,内容都一样。
16 楼
200cc
2011-04-26
mlw2000 写道
KimShen 写道
5,你来句SQL,只要你表设计是合理的我就能用HQL或者QBC帮你写出来.写不出来十有八九是数据表设计有问题
综上所述,你的感受大多数是因为你也不熟悉Hibernate.我不反对MyBatis,但是MyBatis还不如DBUtils和SpringJDBC Template
两个都不完全认同,我来举个例子:
t_student(id,name); -- 学生表 t_course(id,name); -- 课程表 t_score(id,student_id,course_id,score_value); -- 成绩表
给出SQL或HQL或QBC求出每门课前十名的学生记录?
用sql写这个比较顺手.我只会oracle - -.
SELECT * FROM (
SELECT A.*, ROW_NUMBER() OVER(PARTITION BY CID ORDER BY VAULE DESC) RANK
FROM (SELECT X.*, S.NAME SNAME, C.NAME CNAME
FROM A_STUDENT S, A_COURSE C, A_SCORE X
WHERE X.SID = S.ID
AND X.CID = C.ID) A )WHERE rank<=10
15 楼
sheep3600
2011-04-26
EdwardWorld 写道
KimShen 写道
newslxw 写道
首先,我并不是一个hibernate开发的推崇者,也不精通hibernate,只是在某几个项目上用到了hibernate,下面是我的感受:
1、lazy加载,经常带来问题
2、级联保存常带来问题,所以我开发是都不用级联保存
3、主键的native要求主键使用number类型,给设计带来麻烦
4、很多人开发是不设计表结构,而是用hibernate来生产数据库,对维护带来很多影响
5、处理复杂SQL,还是需要用SQL而不能用HQL,导致语言混杂,增加维护成本
6、大数据量时,很容易出现问题
7、不适合新人使用,项目中往往有工作经验较低的人,使用hibernate往往容易出错
我对持久层框架要求很简单:
1、自动POJO到数据,或者数据库到POJO
2、适度缓存
如果不是项目要求,我更倾向选择ibatis。
1,没说要强制lazy
2,级联保存不代表数据库就是级联的.而且请举例问题?
3,我怎么不知道主键强制使用number,那你们是用什么?
4,正向工程和逆向工程是你自己选择的
5,你来句SQL,只要你表设计是合理的我就能用HQL或者QBC帮你写出来.写不出来十有八九是数据表设计有问题
6,大量是多少?我们查询40w条数据也没发现问题么?难道不用分页?
7,这个我认同
综上所述,你的感受大多数是因为你也不熟悉Hibernate.我不反对MyBatis,但是MyBatis还不如DBUtils和SpringJDBC Template
------------------------------------------------------------------
表一:用户登记表(USER_INFO)
引用
主键 用户名
userId userName
表二:角色表(USER_ROLE)
引用
主键 角色名
roleCode roleName
表三:用户-角色映射表(USER_ROLE_MAPPING)
引用
用户ID 角色ID
userId roleCode
表四:权限表(USER_PERMISSION)
引用
权限ID 权限名称
permissionCode permissionName
表五:角色权限映射表(ROLE_PERMISSION_MAPPING)
引用
角色ID 权限ID
roleCode permissionCode
表五点二:用户权限直接映射表(USER_PERMISSION_MAPPING)
引用
用户ID 权限ID
userId permissionCode
表六:产品订单表(PROD_ORDER)
引用
订单ID 创建日期
orderId lastUpdateTime
表七:产品登记表(PROD_PRODUCT)
引用
产品ID 产品名称 产品单价 折扣 实价
prodId prodName price discount actual_prices
表八:产品-产品订单映射表(PROD_PRODUCT_ORDER_MAPPING)
引用
产品ID 订单ID 购买数量 本类产品价格总计
prodId orderId prodQuantity totalPrice
其他表:用户组表、订单分类表、产品分类表、订单流转记录表、部门表、职位表、用户部门映射表……
问题:
请查询角色编码是“salesman”,并且拥有“sellingCars”权限,本月销售奥迪A6产品超过100辆,且实际单价不低于50万的用户的前三十名。
上面这些表是我临时设计的,可能有些地方不合理,但是应该是普通软件中比较常见的应用情景,请问阁下如何使用Hibernate来实现上述查询?求教。
试试考虑下视图和Assigned。
14 楼
sheep3600
2011-04-26
KimShen 写道
newslxw 写道
首先,我并不是一个hibernate开发的推崇者,也不精通hibernate,只是在某几个项目上用到了hibernate,下面是我的感受:
1、lazy加载,经常带来问题
2、级联保存常带来问题,所以我开发是都不用级联保存
3、主键的native要求主键使用number类型,给设计带来麻烦
4、很多人开发是不设计表结构,而是用hibernate来生产数据库,对维护带来很多影响
5、处理复杂SQL,还是需要用SQL而不能用HQL,导致语言混杂,增加维护成本
6、大数据量时,很容易出现问题
7、不适合新人使用,项目中往往有工作经验较低的人,使用hibernate往往容易出错
我对持久层框架要求很简单:
1、自动POJO到数据,或者数据库到POJO
2、适度缓存
如果不是项目要求,我更倾向选择ibatis。
1,没说要强制lazy
2,级联保存不代表数据库就是级联的.而且请举例问题?
3,我怎么不知道主键强制使用number,那你们是用什么?
4,正向工程和逆向工程是你自己选择的
5,你来句SQL,只要你表设计是合理的我就能用HQL或者QBC帮你写出来.写不出来十有八九是数据表设计有问题
6,大量是多少?我们查询40w条数据也没发现问题么?难道不用分页?
7,这个我认同
综上所述,你的感受大多数是因为你也不熟悉Hibernate.我不反对MyBatis,但是MyBatis还不如DBUtils和SpringJDBC Template
恩,说的很有道理。补充下我的一些意见。
主键number不用,你可以用Assigned的嘛。
复杂sql查询还可以建视图去实现。
13 楼
EdwardWorld
2011-04-26
KimShen 写道
newslxw 写道
首先,我并不是一个hibernate开发的推崇者,也不精通hibernate,只是在某几个项目上用到了hibernate,下面是我的感受:
1、lazy加载,经常带来问题
2、级联保存常带来问题,所以我开发是都不用级联保存
3、主键的native要求主键使用number类型,给设计带来麻烦
4、很多人开发是不设计表结构,而是用hibernate来生产数据库,对维护带来很多影响
5、处理复杂SQL,还是需要用SQL而不能用HQL,导致语言混杂,增加维护成本
6、大数据量时,很容易出现问题
7、不适合新人使用,项目中往往有工作经验较低的人,使用hibernate往往容易出错
我对持久层框架要求很简单:
1、自动POJO到数据,或者数据库到POJO
2、适度缓存
如果不是项目要求,我更倾向选择ibatis。
1,没说要强制lazy
2,级联保存不代表数据库就是级联的.而且请举例问题?
3,我怎么不知道主键强制使用number,那你们是用什么?
4,正向工程和逆向工程是你自己选择的
5,你来句SQL,只要你表设计是合理的我就能用HQL或者QBC帮你写出来.写不出来十有八九是数据表设计有问题
6,大量是多少?我们查询40w条数据也没发现问题么?难道不用分页?
7,这个我认同
综上所述,你的感受大多数是因为你也不熟悉Hibernate.我不反对MyBatis,但是MyBatis还不如DBUtils和SpringJDBC Template
------------------------------------------------------------------
表一:用户登记表(USER_INFO)
引用
主键 用户名
userId userName
表二:角色表(USER_ROLE)
引用
主键 角色名
roleCode roleName
表三:用户-角色映射表(USER_ROLE_MAPPING)
引用
用户ID 角色ID
userId roleCode
表四:权限表(USER_PERMISSION)
引用
权限ID 权限名称
permissionCode permissionName
表五:角色权限映射表(ROLE_PERMISSION_MAPPING)
引用
角色ID 权限ID
roleCode permissionCode
表五点二:用户权限直接映射表(USER_PERMISSION_MAPPING)
引用
用户ID 权限ID
userId permissionCode
表六:产品订单表(PROD_ORDER)
引用
订单ID 创建日期
orderId lastUpdateTime
表七:产品登记表(PROD_PRODUCT)
引用
产品ID 产品名称 产品单价 折扣 实价
prodId prodName price discount actual_prices
表八:产品-产品订单映射表(PROD_PRODUCT_ORDER_MAPPING)
引用
产品ID 订单ID 购买数量 本类产品价格总计
prodId orderId prodQuantity totalPrice
其他表:用户组表、订单分类表、产品分类表、订单流转记录表、部门表、职位表、用户部门映射表……
问题:
请查询角色编码是“salesman”,并且拥有“sellingCars”权限,本月销售奥迪A6产品超过100辆,且实际单价不低于50万的用户的前三十名。
上面这些表是我临时设计的,可能有些地方不合理,但是应该是普通软件中比较常见的应用情景,请问阁下如何使用Hibernate来实现上述查询?求教。
12 楼
21jhf
2011-04-26
mlw2000 写道
KimShen 写道
5,你来句SQL,只要你表设计是合理的我就能用HQL或者QBC帮你写出来.写不出来十有八九是数据表设计有问题
综上所述,你的感受大多数是因为你也不熟悉Hibernate.我不反对MyBatis,但是MyBatis还不如DBUtils和SpringJDBC Template
两个都不完全认同,我来举个例子:
t_student(id,name); -- 学生表 t_course(id,name); -- 课程表 t_score(id,student_id,course_id,score_value); -- 成绩表
给出SQL或HQL或QBC求出每门课前十名的学生记录?
我只知道普通SQL可以这样写,HQL不熟悉,不过我还是建议使用Hibernate,熟悉后应该很好用:
SELECT *
FROM T_SCORE T, (
SELECT MAX(SCORE_VALUE) MAX_SCORE, COURSE_ID
FROM T_SCORE
GROUP BY COURSE_ID
) TS
WHERE T.SCORE_VALUE = TS.MAX_SCORE
AND T.COURSE_ID = TS.COURSE_ID
AND ROWNUM <= 10
11 楼
neptune
2011-04-26
hibernate要用在新的项目上,表结构要自己设计好(可控)。如果是遗留系统还是ibatis吧。
10 楼
danan2008
2011-04-26
确实,hibernate对于新手来说,很容易犯错误。没有什么好与不好的技术,都是相对于而言的。
9 楼
jk19910410
2011-04-25
用hql做复杂sql查询还是比较困难的
8 楼
lnaigg
2011-04-25
月经贴,鉴定完毕。
ibatis比较适合LZ。
ibatis比较适合LZ。
发表评论
-
hibernate导出到数据量的方法
2012-04-16 16:30 941在需要将数据导出的地方,由于数据量大,将数据放到内存会导致内存 ... -
http://download.jboss.org/jbosstools/updates/stable
2012-04-05 16:45 874http://download.jboss.org/jboss ... -
ibatis和hibernate使用ehcache
2011-12-08 20:31 928ibatis使用ehcache http://apps ... -
关于hibernate的createSQLQuery两个限制
2011-09-22 15:36 1711由于涉及到到的SQL查询,SQL长度超出4000字符,不得不使 ... -
spring事务管理失败
2011-07-05 13:56 907我的BaseBuzDAO实现了SqlMapClientDaoS ... -
注解POJO比不上使用配置文件的地方
2011-05-12 18:28 10711、跨数据库,POJO将无法公用 使用注解方式的POJO,将会 ... -
hibernate弊端
2011-04-22 07:13 749首先,我并不是一个hibernate开发的推崇者,如果不是项目 ...
相关推荐
Struts和Hibernate是Java Web开发中的两个重要框架,它们在构建高效、可维护的Web应用程序时发挥着关键作用。这个“Struts+Hibernate项目”旨在为开发者提供一个学习和实践的平台,帮助他们快速理解这两种框架的集成...
本项目“hibernate一对多项目”旨在演示如何在JavaWeb应用中使用Hibernate处理一对多的关系映射。这里我们将深入探讨 Hibernate 的一对多关系、配置以及在实际项目中的应用。 首先,一对多关系在数据库中很常见,...
Hibernate Search是Hibernate框架的一个扩展,它允许我们在应用程序中实现全文检索功能,使得数据库中的数据可以被快速、高效地搜索。这个功能尤其在处理大量文本数据时非常有用,比如在电商网站的商品搜索或者新闻...
通过深入理解和实践这些源码,开发者可以更好地掌握Hibernate在实际开发中的应用。 Hibernate是一款强大的Java持久化框架,它简化了数据库操作,将对象与关系数据库之间的映射(ORM)工作自动化。在这个项目中,...
在这个项目中,开发者将深入理解如何在Java应用程序中使用Hibernate来处理复杂的数据关联和持久化操作。 **一、Hibernate简介** Hibernate是一个强大的开源对象关系映射(ORM)框架,它简化了Java应用对数据库的...
hibernate3应用实例hibernate3应用实例hibernate3应用实例hibernate3应用实例
java开发过程中hibernate的应用
Hibernate Web应用的开发一般经过以下几个步骤: (1)创建数据库。 (2)将Hibernate所需的JAR包复制到WEB-INF/lib下。 (3)创建Hibernate的配置文件。 (4)利用Hibernate的第三方工具或Eclipse的有关插件从...
【hibernate+maven demo项目工程】是一个基于Hibernate ORM框架和Maven构建工具的示例项目,旨在帮助开发者理解和实践如何在实际开发中整合这两项技术。该项目的主要目的是展示如何利用Maven管理依赖,以及如何配置...
在"Spring Hibernate Ext"项目中,Spring和Hibernate被紧密集成,实现了一种数据访问层的解决方案。Spring通过其DataSource和Transaction Manager组件来管理数据库连接和事务,同时通过HibernateTemplate或...
2. **Hibernate配置**:学习如何在hibernate.cfg.xml中配置数据库连接,以及在实体类上使用注解实现一对一关系。 3. **Action逻辑**:查看Action类中的方法,理解如何根据请求调用业务逻辑并返回结果。 4. **DAO设计...
Hibernate应用及其详解
在本项目中,“hibernate连接Access应用项目例子”展示了如何使用Hibernate ORM框架与Microsoft Access数据库进行集成,实现数据的增、删、改、查(CRUD)操作。Hibernate是Java开发中的一个流行ORM(对象关系映射)...
### Hibernate与Struts在J2EE中的应用 #### 一、引言 随着企业级应用需求的日益增长,Java作为一种广泛使用的编程语言,在构建大型、复杂的企业应用方面展现了其强大的能力。Java 2 Platform, Enterprise Edition...
插件安装后,开发者可以创建一个新的Java项目,并在其中加入Hibernate所需的lib文件和数据库的JDBC驱动文件。 接下来,需要配置Hibernate的配置文件,通常名为“hibernate.cfg.xml”。在这个文件中,需要指定使用的...
《Hibernate开发及整合应用大全》是一本专注于Java领域持久化框架Hibernate深度学习和实践的电子书,它旨在帮助开发者在实际项目中高效地利用Hibernate进行数据管理。在讲解Hibernate核心概念的同时,本书还强调了其...
9. 实战项目:通过实际项目源码,学习如何在真实场景中应用Hibernate,解决具体问题。 10. 调试与优化:学习如何调试Hibernate应用,以及性能调优的技巧。 通过这个教程,学习者不仅可以获得理论知识,还能通过实际...
在本资源中,"struts2 spring hibernate框架技术与项目实战 光盘源码 上"提供了这三大框架的实践项目代码,帮助开发者深入理解并掌握它们的集成与应用。 Struts2作为MVC(模型-视图-控制器)框架,主要负责处理HTTP...
在这个“简单的Hibernate应用”中,我们将探讨Hibernate的基本概念、核心组件以及如何在实际项目中应用。 1. Hibernate概览:Hibernate是一个开源的ORM框架,它提供了一种在Java应用程序中管理关系数据库的机制。...