程序查询出错,中文外键hql执行错误的问题No row with the given identifier exists: [com.ly.dao.Role#教师], 如果把role表中 教师 修改为英文字符,可以正常运行。
表结构:
--------
红色的就是中文外键,如果换成英文就没有问题
user表
user_name 姓名
0000000100001 孙幸
user_role表
user_name role_name
0000000100001
教师
role表
role_name role_type
教师 教师
问题补充:package com.ly.dao;
/**
* UserRole entity. @author MyEclipse Persistence Tools
*/
public class UserRole implements java.io.Serializable {
// Fields
private UserRoleId id;
private Role role;
private User user;
// Constructors
/** default constructor */
public UserRole() {
}
/** full constructor */
public UserRole(UserRoleId id, Role role, User user) {
this.id = id;
this.role = role;
this.user = user;
}
// Property accessors
public UserRoleId getId() {
return this.id;
}
public void setId(UserRoleId id) {
this.id = id;
}
public Role getRole() {
return this.role;
}
public void setRole(Role role) {
this.role = role;
}
public User getUser() {
return this.user;
}
public void setUser(User user) {
this.user = user;
}
}
问题补充:<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="com.ly.dao.UserRole" table="user_role" catalog="essaywriting">
<composite-id name="id" class="com.ly.dao.UserRoleId">
<key-property name="userName" type="java.lang.String">
<column name="user_name" length="30" />
</key-property>
<key-property name="roleName" type="java.lang.String">
<column name="role_name" length="30" />
</key-property>
</composite-id>
<many-to-one name="role" class="com.ly.dao.Role" update="false" insert="false" fetch="select" lazy="false">
<column name="role_name" length="30" not-null="true" />
</many-to-one>
<many-to-one name="user" class="com.ly.dao.User" update="false" insert="false" fetch="select" lazy="false">
<column name="user_name" length="30" not-null="true" />
</many-to-one>
</class>
</hibernate-mapping>
问题补充:查询程序:
List<UserRole> roleList= (List<UserRole>)userRoleDao.findByProperty("user.userName", user.getUserName());
----
public List findByProperty(String propertyName, Object value) {
log.debug("finding UserRole instance with property: " + propertyName
+ ", value: " + value);
try {
String queryString = "from UserRole as model where model."
+ propertyName + "= ?";
return getHibernateTemplate().find(queryString, value);
} catch (RuntimeException re) {
log.error("find by property name failed", re);
throw re;
}
}
问题补充:有问题的数据库是我从服务器上备份恢复到本地测试机上的,
同一个程序,连原来服务器上的数据库正常,连从服务器上复制来数据库的本地服务器出现这个错误。
问题补充:问题已经解决,hql很弱智,mysql很坑爹。
相关推荐
在使用WebLogic 12部署应用程序时,可能会遇到与`org.hibernate.hql.ast.HqlToken`相关的异常问题。这种异常通常与Hibernate版本之间的不兼容性有关,特别是在不同Hibernate版本依赖同一个类库的不同版本时更为常见...
在本问题中,我们遇到了一个特定的错误,即“weblogic10.3 org.hibernate.hql.ast.HqlToken报错”,这涉及到Hibernate ORM框架和其在WebLogic上的运行。让我们深入探讨这个问题,以及可能的解决方案。 首先,`org....
标题 "org.hibernate.ejb-library-3.4.0.GA-A" 指示这是一个与Hibernate相关的库,特别针对EJB(Enterprise JavaBeans)版本3.4.0,并且是为OSGi环境优化的。描述中提到它适用于在Virgo Jetty服务器上进行Web开发,...
**标题:“Hibernate Annotations”** **概述** Hibernate是一个流行的Java对象关系映射(ORM)框架,它简化了在Java应用程序中处理数据库的过程。Hibernate Annotations是Hibernate框架的一个重要组成部分,它...
weblogic10 与hibernate冲突解决方案 错误如下:org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken linux windows 环境解决方案全解 Linux 启动脚本添加如下: export USER_...
1. org.hibernate.Query Interface:用于向数据库查询对象,封装了 HQL 查询语句,和 SQL 很类似,唯一的区别在于 HQL 是面向对象的。 2. org.hibernate.Criteria Interface:完全封装了基于字符串形式的查询语句,...
#hibernate.query.factory_class org.hibernate.hql.internal.classic.ClassicQueryTranslatorFactory ################# ### Platforms ### ################# ## JNDI Datasource #hibernate.connection....
Hibernate常用操作示例,包含详细注释说明,数据库初始化文件。使用和学习请参考:http://blog.csdn.net/daijin888888/article/details/51692942
《Manning.Java.Persistence.with.Hibernate》一书是Hibernate领域的权威指南,由Hibernate项目的主导开发者撰写,深入浅出地讲解了Hibernate框架的核心概念、架构设计、配置方法以及在实际开发中的应用技巧。...
Query 封装了 HQL(Hibernate Query Language)查询语句,和 SQL 很类似,唯一的区别在于 HQL 是面向对象的。 2. org.hibernate.Criteria Interface:完全封装了基于字符串形式的查询语句,更加面向对象,擅长执行...
标题中的“HQL学习大全.rar”表明这是一份关于HQL(Hibernate Query Language)的综合学习资源包。HQL是Hibernate框架中用于操作对象关系映射(ORM)的查询语言,它模仿了SQL的语法,但操作的是面向对象的数据。 ...
《Manning.Java.Persistence.with.Hibernate.Nov.2006》这本书主要聚焦于Java平台上的持久化技术,特别是使用Hibernate框架进行数据管理。Hibernate是一个开源的对象关系映射(ORM)框架,它允许开发者以面向对象的...
hibernate3-hql.jar .
对hibernate的hql进行了详尽的讲解
例如,`QueryTranslator`负责将HQL(Hibernate查询语言)转化为SQL,而`TransactionCoordinator`则处理事务相关逻辑。 7. **org.hibernate.event** 包:事件处理相关类,如监听器接口和实现,允许开发者在特定的...
在Spring框架中,Hibernate Query Language(HQL)是一种强大的工具,用于执行对象关系映射(ORM)查询。HQL是面向对象的查询语言,与SQL类似但更专注于处理Java对象而不是数据库表。在这个名为“Spring--HQL-chaxun...
7. HQL和Criteria API:Hibernate Query Language(HQL)是Hibernate特有的面向对象的查询语言,类似于SQL,但操作的是对象而非表格。Criteria API是一种类型安全的API,可以动态构建查询,避免SQL注入风险。 8. ...
根据提供的文件信息,我们可以深入探讨Hibernate HQL(Hibernate Query Language)的相关知识点,特别是关于其查询功能、连接操作、条件过滤以及聚合函数的应用等。 ### Hibernate HQL简介 Hibernate HQL是一种...
《Java Persistence with Hibernate》是Manning出版社在2006年11月出版的一本专业书籍,专注于Java领域的持久化技术,尤其是Hibernate框架的应用。这本书深入探讨了如何使用Hibernate来处理Java应用程序中的数据存储...