多主键表查询

luyesql 2012-07-24 02:28:50
表 ZSupeTrace 有两个主键 TRACE_ID,DEPART_ID
定义了实体类 ZSupeTrace
变量 private ZSupeTraceId id;
@EmbeddedId
@AttributeOverrides({
@AttributeOverride(name = "traceId", column = @Column(name = "TRACE_ID", nullable = false, precision = 10, scale = 0)),
@AttributeOverride(name = "departId", column = @Column(name = "DEPART_ID", nullable = false, length = 10)) })
public ZSupeTraceId getId() {
return this.id;
}

public void setId(ZSupeTraceId id) {
this.id = id;
}
指向ZSupeTraceId实体类
private Integer traceId;
private String departId;



在查询的时候
hql=" from ZSupeTrace where 1=1";
hql+=" and departId="+gzry+"";

为什么总是出现下面的错误
ERROR JDBCExceptionReporter:78 - ORA-00904: "DEPARTID": 标识符无效
Caused by: java.sql.SQLException: ORA-00904: "DEPARTID": 标识符无效
...全文
232 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
luyesql 2012-07-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

除了你 没人会使POJO的属性 与 DB中的字段不一致。所以也就没人研究这问题。
[/Quote]

我字段有一致的
luyesql 2012-07-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

除了你 没人会使POJO的属性 与 DB中的字段不一致。所以也就没人研究这问题。
[/Quote]
我字段好像有一致的
未来纪元 2012-07-25
  • 打赏
  • 举报
回复
语句:hql=" from ZSupeTrace where 1=1";
hql+=" and departId="+gzry+"";

改成:hql=" from ZSupeTrace zt where 1=1";
hql+=" and zt.departId='"+gzry+"'";

szy3121 2012-07-25
  • 打赏
  • 举报
回复
除了你 没人会使POJO的属性 与 DB中的字段不一致。所以也就没人研究这问题。
luyesql 2012-07-25
  • 打赏
  • 举报
回复
额,怎么都没人回答我
luyesql 2012-07-24
  • 打赏
  • 举报
回复
很奇怪的是,我把departId改成depart_id就可以
hql=" from ZSupeTrace where 1=1";
hql+=" and depart_id="+gzry+"";

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧