首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

spring+struts+hibernate有关问题 在线急等

2011-12-08 
spring+struts+hibernate问题 在线急等log4j:WARNNoappenderscouldbefoundforlogger(org.springframework.

spring+struts+hibernate问题 在线急等
log4j:WARN   No   appenders   could   be   found   for   logger  

(org.springframework.core.CollectionFactory).
log4j:WARN   Please   initialize   the   log4j   system   properly.
Hibernate:   select   orderdetai0_.id   as   id2_,   orderdetai0_.bid   as   bid2_,   orderdetai0_.oid   as  

oid2_,   orderdetai0_.orderprice   as   orderprice2_,   orderdetai0_.number   as   number2_   from  

bookStoreBusiness.dbo.orderdetail   orderdetai0_
org.springframework.jdbc.UncategorizedSQLException:   Hibernate   operation:   could   not   execute  

query;   uncategorized   SQLException   for   SQL   [select   orderdetai0_.id   as   id2_,   orderdetai0_.bid  

as   bid2_,   orderdetai0_.oid   as   oid2_,   orderdetai0_.orderprice   as   orderprice2_,  

orderdetai0_.number   as   number2_   from   bookStoreBusiness.dbo.orderdetail   orderdetai0_];   SQL  

state   [HY000];   error   code   [0];   [Microsoft][SQLServer   2000   Driver   for   JDBC]Value   can   not   be  

converted   to   requested   type.;   nested   exception   is   java.sql.SQLException:   [Microsoft]

[SQLServer   2000   Driver   for   JDBC]Value   can   not   be   converted   to   requested   type.
java.sql.SQLException:   [Microsoft][SQLServer   2000   Driver   for   JDBC]Value   can   not   be   converted  

to   requested   type.
at   com.microsoft.jdbc.base.BaseExceptions.createException(Unknown   Source)
at   com.microsoft.jdbc.base.BaseExceptions.getException(Unknown   Source)
at   com.microsoft.jdbc.base.BaseData.getFloat(Unknown   Source)
at   com.microsoft.jdbc.base.BaseResultSet.getFloat(Unknown   Source)
at   com.microsoft.jdbc.base.BaseResultSet.getFloat(Unknown   Source)
at   org.hibernate.type.FloatType.get(FloatType.java:23)
at   org.hibernate.type.NullableType.nullSafeGet(NullableType.java:113)
at   org.hibernate.type.NullableType.nullSafeGet(NullableType.java:102)
at   org.hibernate.type.AbstractType.hydrate(AbstractType.java:81)
at   org.hibernate.persister.entity.AbstractEntityPersister.hydrate

(AbstractEntityPersister.java:1899)
at   org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1372)
at   org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1300)
at   org.hibernate.loader.Loader.getRow(Loader.java:1197)
at   org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:569)
at   org.hibernate.loader.Loader.doQuery(Loader.java:689)
at   org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections

(Loader.java:224)
at   org.hibernate.loader.Loader.doList(Loader.java:2145)
at   org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
at   org.hibernate.loader.Loader.list(Loader.java:2024)
at   org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
at   org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:308)
at   org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:153)
at   org.hibernate.impl.SessionImpl.list(SessionImpl.java:1106)
at   org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)


at   org.springframework.orm.hibernate3.HibernateTemplate$31.doInHibernate

(HibernateTemplate.java:853)
at   org.springframework.orm.hibernate3.HibernateTemplate.execute

(HibernateTemplate.java:366)
at   org.springframework.orm.hibernate3.HibernateTemplate.find

(HibernateTemplate.java:844)
at   org.springframework.orm.hibernate3.HibernateTemplate.find

(HibernateTemplate.java:836)
at   com.t31bookstorebusiness.dao.imp.OrderDAOImp.getOrderDetails(OrderDAOImp.java:55)
at   sun.reflect.NativeMethodAccessorImpl.invoke0(Native   Method)
at   sun.reflect.NativeMethodAccessorImpl.invoke(Unknown   Source)
at   sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown   Source)
at   java.lang.reflect.Method.invoke(Unknown   Source)
at   org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection

(AopUtils.java:287)
at   org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint

(ReflectiveMethodInvocation.java:181)
at   org.springframework.aop.framework.ReflectiveMethodInvocation.proceed

(ReflectiveMethodInvocation.java:148)
at   org.springframework.transaction.interceptor.TransactionInterceptor.invoke

(TransactionInterceptor.java:96)
at   org.springframework.aop.framework.ReflectiveMethodInvocation.proceed

(ReflectiveMethodInvocation.java:170)
at   org.springframework.aop.framework.JdkDynamicAopProxy.invoke

(JdkDynamicAopProxy.java:176)
at   $Proxy6.getOrderDetails(Unknown   Source)
at   com.t31bookstorebusiness.dao.imp.OrderDAOImp.main(OrderDAOImp.java:126)
谁看得懂这个异常  
主要原因好象是这个Value   can   not   be   converted   to   requested   type.
类型异常我都看不懂那里类型对不上了
我是这样调用的
public   static   void   main(String[]   args)   {
AbstractApplicationContext   context   =   AppContext.getInstace()
.getAppContext();
OrderDAO   dao   =   (OrderDAO)   context.getBean( "orderService ");
java.util.List   list   =   dao.getOrderDetails();
System.out.println(list.size());

}
方法是这样实现的
public   List   getOrderDetails()   {
//   TODO   自动生成方法存根
hql   =   "from   Orderdetail ";
//   list   =
//   this.getHibernateTemplate().loadAll(Orderdetail.class);
list   =   this.getHibernateTemplate().find(hql);
System.out.println(list.size()   +   "> > > size ");
if   (list.size()   >   0)   {
return   list;
}
return   null;
}
与这个方法有关联的数据库是这样的
--订单表
if   exists(select   *   from   sysobjects   where   name   = 'orders ')  
drop   table   orders
create   table   orders
(
id   int   identity(1,1)   not   null   primary   key,--订单编号
uid   int   not   null,--订货人
delivermode   varchar(30),--送货方式
paymode   varchar(30),--付款方式
amount   float(18)   default(0),--订单总金额
orderdate   datetime   default(getdate()),--下订单日期
state   varchar(10)   default( '未处理 ')--处理状态
)
go
--订单明细表
if   exists(select   *   from   sysobjects   where   name   = 'orderdetail ')  
drop   table   orderdetail
create   table   orderdetail
(
id   int   identity(1,1)   not   null   primary   key,--订单明细编号


oid   int   ,--订单编号
bid   int   ,--书籍编号
orderprice   float(10)   not   null,--订单价格
number   Float   default(1)   not   null--订货数量
)
--书籍信息表
if   exists(select   *   from   sysobjects   where   name   = 'books ')  
drop   table   books
create   table   books
(
id   int   identity(1,1)   not   null   primary   key,--书籍编号
bookname   varchar(60)   not   null,--书籍名称
author   varchar(50)   default( '未填 '),--作者
price   float(10)   default(0),--定价
number   int   default(0),--存货数量
pubdate   datetime,--出版日期
picture   varchar(50)   default( '无 '),--书籍图片
descript   varchar(300)   default( '无 '),--书籍说明
tid   int,--二级类别编号,外健
pid   int   --出版商编号
)

[解决办法]
错误:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Value can not be converted
[解决办法]
你的sqlserver2000是在win2000下运行的么?先用JDBC直接创建直连试一下,如果也链接不上数据库,说明是你的驱动有问题,如果你的系统是windows xp,那么需要打上windows xp关于SQLSERVER2000的补丁~
[解决办法]
这也是你啊?

热点排行