hibernate 复合主键查询的问题
来源:互联网 发布:java重载的作用 编辑:程序博客网 时间:2024/05/18 17:04
lsinf.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping >
<class table="lsinf" name="time.Useri">
<composite-id name="pk" class="time.lsinfKey">
<key-property name="end" column="end"/>
<key-property name="id" column="id"/>
<key-property name="start" column="start"/>
</composite-id>
<property name="state" column="state"/>
<property name="note" column="note"/>
<property name="sh" column="sh"/>
</class>
</hibernate-mapping>
//lsinfKey类
package time;
import java.io.Serializable;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
public class lsinfKey implements Serializable{
private String start;
private String end;
private String id;
public boolean equals(Object obj) {
if(!(obj instanceof Useri)) {
return false;
}
lsinfKey userPK = (lsinfKey)obj;
return new EqualsBuilder()
.appendSuper(super.equals(obj))
.append(this.start, userPK.start)
.append(this.id, userPK.id)
.append(this.end, userPK.end)
.isEquals();
}
public int hasCode() {
return new HashCodeBuilder(-528253723, -475504089)
.appendSuper(super.hashCode())
.append(this.start).append(this.id)
.append(this.end)
.toHashCode();
}
public String getStart() {
return start;
}
public void setStart(String start) {
this.start = start;
}
public String getEnd() {
return end;
}
public void setEnd(String end) {
this.end = end;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
//建立Useri类
package time;
public class Useri {
private lsinfKey pk;//主键类
public lsinfKey getPk() {
return pk;
}
public void setPk(lsinfKey pk) {
this.pk = pk;
}
private String note;
private String sh;
private String state;
public String getNote() {
return note;
}
public void setNote(String note) {
this.note = note;
}
public String getSh() {
return sh;
}
public void setSh(String sh) {
this.sh = sh;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
}
测试代码
SQLQuery query=ss.createSQLQuery("select start from lsinf").addEntity(Useri.class);
报错
14:10:32,578 INFO Dialect:106 - Using dialect: com.hxtt.support.hibernate.HxttAccessDialect
org.hibernate.exception.GenericJDBCException: could not execute query
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.doList(Loader.java:2148)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
at org.hibernate.loader.Loader.list(Loader.java:2024)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:118)
at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1658)
at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:164)
at time.InsertProduct.main(InsertProduct.java:42)
Caused by: java.sql.SQLException: Syntax error: Stopped parse at start
at com.hxtt.global.SQLState.SQLException(Unknown Source)
at com.hxtt.a.b.a(Unknown Source)
at com.hxtt.a.b.a(Unknown Source)
at com.hxtt.a.b.g(Unknown Source)
at com.hxtt.sql.bm.o(Unknown Source)
at com.hxtt.sql.ag.if(Unknown Source)
at com.hxtt.sql.dg.<init>(Unknown Source)
at com.hxtt.sql.bm.a(Unknown Source)
at com.hxtt.sql.bm.prepareStatement(Unknown Source)
at com.hxtt.sql.bm.prepareStatement(Unknown Source)
at com.hxtt.sql.bm.prepareStatement(Unknown Source)
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:497)
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:415)
at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1561)
at org.hibernate.loader.Loader.doQuery(Loader.java:661)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
at org.hibernate.loader.Loader.doList(Loader.java:2145)
... 7 more
测试代码
SQLQuery query=ss.createSQLQuery("select * from lsinf").addEntity(Useri.class);
这样不会报错,
那位高手指点下
- hibernate 复合主键查询的问题
- Hibernate复合主键查询
- 关于Hibernate的复合主键查询
- hibernate复合主键查询主键不能为空的解决方案
- hibernate复合主键查询主键不能为空的解决方案
- 关于Hibernate复合主键的问题
- 解决使用Hibernate QBC复合查询含有联合主键映射关系实体的问题
- Hibernate复合主键的处理
- hibernate复合主键的使用方法
- Hibernate的复合主键映射
- hibernate复合主键的配置
- Hibernate复合主键的注解
- Hibernate的复合主键映射
- Hibernate复合主键的注解
- Hibernate复合主键的注解
- Hibernate复合主键的使用
- 复合主键的查询方法
- hibernate的主键和复合主键
- 重读The C++ Programming Language(一)
- 12号听Booch的session
- 【java】struts和ajax的小例子①→后台的登录验证
- Flex中如何利用swatchGridBackgroundColor样式设置ColorPicker的样本颜色网格背景颜色的例子。
- asdl能够连接成功,不能打开网页,qq超时登陆
- hibernate 复合主键查询的问题
- 一篇震撼中国教师的演讲稿!!!
- 【java】struts和ajax的小例子②→js解析生成的xml
- C#简繁体转换方法(Visual Studio International Pack 1.0)
- NetBeans 6.7 Beta 使用体验
- 鼠标经过显示子项
- 网页切片应该怎么切
- 中国黑客谱系
- 一个老工程师的忠告