我先说用了几个框架吧,spring,hibernate,dwr,然后bean用的是annotation标记的:
其中商品和订单表,我用的是一对多
Product bean
- @OneToMany(targetEntity = Order.class, cascade = CascadeType.REMOVE, fetch = FetchType.LAZY)
- @JoinColumn(name = "PRODUCTID")
- public List<Order> getOrders() {
- return orders;
- }
在DAO层里,我用了spring的hibernateDaoSupport,其中有个分页查询方法:
java 代码
-
-
-
-
-
-
-
-
-
- public Page<T> PageQuery(int pageNo,int pageSize){
- Criteria criteria = this.createCriteria();
- return this.pagedQuery(criteria, pageNo, pageSize);
- }
方法返回的page,我自己定义的一个封装了页面属性和内容的bean。
然后定义了一个service层的方法,调用DAO层的这个分页函数。
java 代码
- public List<Product> getProducts(int pageNo,int pageSize){
- return productDAO.PageQuery(pageNo, pageSize).getResult();
- }
JSP页面使用DWR调用service层的getProducts
xml 代码
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr//dwr20.dtd">
- <dwr>
- <allow>
- <create javascript="ProductService" creator="spring">
- <param name="beanName" value="productService"></param>
- <include method="loadProduct" />
- <include method="getProducts" />
- </create>
- </allow>
- </dwr>
再定义了JS函数
js 代码
- window.onload = function(){
- ProductService.getProducts(1,10,displayProducts);
- }
- function displayProducts(products){
- DWRUtil.removeAllRows("items");
- if (items.length == 0) {
- alert("No matching products found");
- $("products").style.visibility = "hidden";
- } else {
- DWRUtil.addRows("items",products,cellFunctions);
- $("products").style.visibility = "visible";
- }
-
- }
-
-
-
-
- var cellFunctions =[
- function(product){return product.productname},
- function(product){return product.productdetail},
- function(product){return product.price},
- function(product) {
- var btn = document.createElement("button");
- btn.innerHTML = "Add to cart";
- btn.productId = product.id;
- btn.onclick = addToCartButtonHandler;
- return btn;
- }
- ];
所有的源码基本上就是这些,我使用单元测试时,lazy效果已经有了!但是我访问页面,通过dwr调用service层方法,好像却失效了,通查询查看hibernate日志,看到与之相关的所有select语句,全部打印了出来!
分享到:
- 2007-08-23 14:09
- 浏览 3760
- 评论(7)
- 论坛回复 / 浏览 (7 / 4823)
- 查看更多
相关推荐
Dwr+Hibernate的Lazy问题 解决了Hibernate延迟加载失效问题
extjs dwr hibernate spring 整合的树!
省市县联动,dwr hibernate, mysql, 请先导入sql文件,配置好数据库,就可以了
struts2.1 spring2.5 ibatis2.3 dwr3 annotation配置 集成 此中例子不完整. 如要下载:http://download.csdn.net/source/2138885
spring2.5 ibatis2.3 struts2.1 dwr3 annotation集成配置
spring使用annotation整合dwr笔记 spring使用annotation整合dwr笔记 spring使用annotation整合dwr笔记
dwr+hibernate实现的分页技术不错的应用
《疯狂Ajax讲义:Prototype/jQuery+DWR+Spring+Hibernate整合开发》是疯狂Java体系丛书之一,前8章基本以XHTML、JavaScript和DOM编程为主,无须任何基础即可阅读;第9章以后的内容则需要掌握Spring、Hibernate等Java ...
Spring+Dwr+Hibernate整合项目,包括所需要的包和数据库
使用注解整合ext dwr spring hibernate
学习Ext dwr 的好例子,里面有mysql数据库建表语句。使用ext书写界面。
实现添加、查询、删除、更改的dwr整合hibernate的小例子
DWR+Struts+spring+hibernate的订货系统,自己添加的dwr功能
配置整合DWR3.0和Spring2.5使用annotation注解
dwr+spring+hibernate模板
dwr+hibernate+spring 集成 实例 dwr+hibernate+spring 集成 实例
ext、dwr、hibernate的整合
ajax,spring,hibernate,dwr,实现二级联动
dwr + hibernate写的一个检测用户名是否可用的简单代码,非常适合初学者.附件中包含dwr和hibernate等第三方lib,以及数据库建表语句,对本示例作了简要说明
Struts2,Hibernate5,Dwr3