在web dynpro7.1 引用extenal lib
来源:互联网 发布:群控软件 编辑:程序博客网 时间:2024/06/02 00:08
在web dynpro7.1中使用Hibernate
1. 简介
在CE7.1中使用Hibernate跟在7.0中使用基本类似。第一步要建一个lib,用于存放jar包;第二步要建一个j2ee的工程,用于发布jar包;第三步建使用Hibernate的工程,如web dynpro工程。下面是详细说明,以及一些抓图。
2. 第一步建lib工程
1. 创建lib工程(注意:创建的是local的DC)
图X 新建Local的DC
图X 新建Local的lib包
2. 将非Hibernate的包(如:hep_tdm_hibernate.jar、deepSOFTcom METHOD.jar)拷贝到libraries目录下,然后添加到public part下。Public part有两个:libCom(类型:COMPILATION)、libAss(类型:ASSEMBLY)。
图X 将lib包添加到Public Part
图X Public Part设置状况
3. 第二步建J2EE工程
1. 新建J2EE工程
图X 新建Loacl的J2EE
图X 新建Loacl的J2EE
2. 设置J2EE工程属性
图X 设置J2EE工程的属性(钩上Sap Application Library Container项)
3. 添加Used DC
图X 添加Used DC
图X 添加Used DC后设置(libAss和libCom的Build Time项都要钩上)
4. 新建public part(appCom类型:COMPILATION、appAss类型:ASSEMBLY)
图X J2EE工程新建pablic part
5. J2EE工程打包以及部署。将Hibernate包手动加入到demo.sap.com~apptesthib.ear文件中
图X Build工程后生成的ear文件
图X 将存放Hibernate的lib添加到ear文件中(之后才可以部署)
图X lib文件夹下Hibernate包情况
4. 第三步建web dynpro调用工程
1. 建Local的web dynpro工程DC
图X 新建Local的Web Dynpro工程
2. 添加引用。需要添加lib工程和J2EE工程(如果不添加lib工程,build时build不过去;如果不添加J2EE工程,运行的时候找不到Hibernate)。
图X 在Used DC中添加lib和j2ee的public part(两个DC属性设置一样)
图X 设置属性(所有Public part的Build Time项都要钩上)
3. 使用Hibernate
现在就可以使用Hibernate了,下面是一段调用例子
try{
HibernateDao myDao = new HibernateDao();
String hSql = "from TdmAudiInfo order by itemNo desc";
List list = myDao.hqlQuery(hSql, null, 0, 5);
if(list==null || list.size()==0)
wdComponentAPI.getMessageManager().reportWarning("no record");
else{
for(int i=0; i<list.size(); i++){
TdmAudiInfo obj = (TdmAudiInfo)list.get(i);
//********************************************
//使用Hibernate对象;
//********************************************
}
}
}catch(Exception ex){
ex.printStackTrace();
}
4. 性能感受
图X 从数据中查询10000条记录并显示
机器配置:后台查询的表有43个字段,字段定义基本是VARCHAR2(254)。数据库是Oracle10g,存于一台普通的pc服务器(两核,3.5G内存)。7.1CE服务器(WAS)是在另一台PC机器上(P4,2G内存)。
当查询10000条数据时,用时11秒。时间大部分是用在was服务器读数据库上(此时读的是所有列,显示到前台时只有6列)。Table没有分页,10000条数据完全显示,点击时,响应速度1秒多一点,感觉还可以。
5. 使用感受
在Web Dynpro7.1中使用Hibernate,感觉还是比较好用的。性能方面,因为hibernate要创建大量的线程,所以每次部署完J2EE工程之后最好能重启一下WAS,否则可能会报下面的错误:
{0}#1#java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:704)
at net.sf.ehcache.store.DiskStore.<init>(DiskStore.java:157)
at net.sf.ehcache.Cache.initialise(Cache.java:269)
at net.sf.ehcache.CacheManager.addCacheNoCheck(CacheManager.java:333)
at net.sf.ehcache.CacheManager.addCache(CacheManager.java:325)
at net.sf.ehcache.CacheManager.addCache(CacheManager.java:310)
at org.hibernate.cache.EhCacheProvider.buildCache(EhCacheProvider.java:104)
at org.hibernate.cache.CacheFactory.createCache(CacheFactory.java:61)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:203)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1152)
at com.hep.tdm.dao.HibernateSessionFactory.rebuildSessionFactory(HibernateSessionFactory.java:61)
at com.hep.tdm.dao.HibernateSessionFactory.getSession(HibernateSessionFactory.java:43)
at com.hep.tdm.dao.HibernateDao.<init>(HibernateDao.java:55)
at com.sap.demo.test.testhibernate.test.TestView.onActionTestHibernate(TestView.java:195)
at com.sap.demo.test.testhibernate.test.wdp.InternalTestView.wdInvokeEventHandler(InternalTestView.java:128)
来自 http://blog.csdn.net/net520/article/details/3915207
- 在web dynpro7.1 引用extenal lib
- 在Web Dynpro7.1中 使用Hibernate
- 如何在vc中引用lib库文件
- 在VS2010项目中引用Lib静态库
- 如何在C++项目中引用Lib文件(VS2005)
- 如何在C++项目中引用Lib文件(VS2005)
- 如何在C++项目中引用Lib文件
- 如何在Android Studio中删除引用的lib包
- 在Visual Studio中使用DLL-项目引用链接lib
- hive create extenal table
- CCS中如何生成LIB文件,并在另外CCS项目中引用LIB文件
- 引用外部lib
- lib、dll引用
- vs2015引用lib库
- c++引用lib库
- 忘了引用lib
- windows lib 引用
- 在vs2013中添加web引用
- DEDECMS导航改为“文章标题-2级栏目-1级栏目-网站名”样式
- frame 、iframe 的 src 属性:
- Troubleshooting Record and Playback issues in Coded UI Test
- 结构的定义和使用
- NSScrollView滚动到起始点
- 在web dynpro7.1 引用extenal lib
- 函数实现不放在头文件的原因,及何时可以放头文件的情况
- oracle plsql常用方法汇总
- iOS-获取当前时间的年、月、日、时、分、秒
- 设置固定IP
- qt QSettings 用法总结
- (收藏)可以用php实现无限分类的源码
- 数据库服务器选型原则
- Oracle实例和Oracle数据库(Oracle体系结构)