java连接mysql 用hibernate怎么写查询语句

以前用的是sqlserver,现在该为mysql,数据库连接上了,但是以前写的查询报错了
——————————————————
select userinfo0_.id as id0_, userinfo0_.company_name as company2_0_, userinfo0_.user_name as user3_0_,
userinfo0_.mobile_number as mobile4_0_ from Demo.dbo.user_info userinfo0_,Demo.dbo.user_info去掉dbo就可以查询出来,请问要如何解决呢?
[code="java"]
public int queryAll() {
// TODO Auto-generated method stub
String hql="from UserInfo";
List list = getHibernateTemplate().find(hql);
[/code]
[code="java"]
org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute query; SQL [select userinfo0_.id as id0_, userinfo0_.company_name as company2_0_, userinfo0_.user_name as user3_0_, userinfo0_.mobile_number as mobile4_0_ from Demo.dbo.user_info userinfo0_]; nested exception is org.hibernate.exception.SQLGrammarException: could not execute query
org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:629)
org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:912)
org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:904)
com.seamoon.demo.dao.impl.UserInfoDAOImpl.queryAll(UserInfoDAOImpl.java:181)

[/code]

2个回答

from Demo.dbo.user_info userinfo0_]

1、检查hibernate配置
hibernate.default_schema 在生成的SQL中, 将给定的schema/tablespace附加于非全限定名的表名上.
取值 SCHEMA_NAME

hibernate.default_catalog 在生成的SQL中, 将给定的catalog附加于非全限定名的表名上.
取值 CATALOG_NAME

删掉这两个

2、看下你的hbm配置文件 是是否有catalog 和 schema 删掉

hibernate sheme和catalog的问题?5
schema="schemaName" (1)
catalog="catalogName" (2)


love_zongming
龙西庄庄主 去除了schema="dbo" ,使用HQL语句都可以查询, Query query= getSession().createSQLQuery(sql) 使用这种方式,还是出现了Column 'company_name' not found. 找不到字段
接近 7 年之前 回复
love_zongming
龙西庄庄主 schema="schemaName" 去除这个okay了~ 谢谢啦
接近 7 年之前 回复
love_zongming
龙西庄庄主 表结构这个字段没有问题的,改用sql语句可以实现查询Query query= getSession().createSQLQuery(sql) 可以执行,
接近 7 年之前 回复
jinnianshilongnian
jinnianshilongnian Column 'company_name' not found. 找不到字段 去看看表结构
接近 7 年之前 回复
love_zongming
龙西庄庄主 <hibernate-mapping> 目前配置这个,schema="dbo" catalog="demo" 这个删除之后,启动运行项目,报出如下错误:2013-04-30 20:49:50,org.hibernate.util.JDBCExceptionReporter, [WARN],SQL Error: 0, SQLState: S0022 2013-04-30 20:49:50,org.hibernate.util.JDBCExceptionReporter, [ERROR],Column 'company_name' not found. 找不到表字段
接近 7 年之前 回复

spring配置数据库的代码呢?是不是数据库的名称不对啊?

love_zongming
龙西庄庄主 修改了这个,以前用的sqlserver 然后就修改了这个<prop key="hibernate.dialect"> <!-- org.hibernate.dialect.SQLServerDialect --> org.hibernate.dialect.MySQLDialect </prop>
接近 7 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问