急救,hibernate中使用update出错谢谢

时间:2008-08-19 14:12:38   来源:论坛整理  作者:  编辑:chinaitzhe
在hibernate中 使用是出现 org.hibernate.hql.ast.QuerySyntaxError: expecting EQ, found '.' 错误
我用的是复合键

TGrjxky 类中
{
private TGrjxkyId id;
}

TGrjxkyId类中
{
private Integer zgId;
private Integer kss;

}

String hql = "update TGrjxky set id.kss=55 where id.zgId = 1" ;

就出现如下错误
org.hibernate.hql.ast.QuerySyntaxError: expecting EQ, found '.' near line 1, column 24 [update TGrjxky set id.kss=55 where id.zgId = 1]

请问如何解决?谢谢
网友回复:id.kiss中id是什么意思?
如果这样写它有可能会认为是别名呢?
你两个类都相同,在那里也没指名你是要更新的是那个类中的属性啊!
网友回复:我想id是TGrjxkyId的指代
"update TGrjxky set TGrjxky.id.kss=55 where TGrjxky.id.zgId = 1"
你试一试。
网友回复:2楼的方法不能用 我试过了 根据我在网上搜索的资料 是不是 hibernate3.0 不支持 复合键的update语句啊?
网友回复:你直接 "update TGrjxkyIdset TGrjxkyId.kss=55 where TGrjxkyId.zgId = 1"

对TGrjxkyId进行操作不就好了?反正以后读取TGrjxky 的数据还是一样会链接去TGrjxkyIdset 的
网友回复:传一个对象就去,调用merge()方法
关键字:

相关文章

    无相关信息

文章评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面