在hibernate中怎么按id查询,急!!!!

eyoexply 2004-05-07 12:57:34
一个数据库表有一个证件号的属性是主键,作为映射的id
查询的代码为:
String queryStr="from ExamineeInfo as examineeInfo where examineeInfo.cardid=:cardID";
query.setString("cardID",cardID);//cardID是一个表示证件号的参数
Iterator it=query.iterate();

hibernate抛出异常:cannot execute query

我的配置文件是
<class name="dao.ExamineeInfo" table="EXAMINEEINFO">
<id name="cardid" column="cardid" type="string" length="10">
<generator class="assigned"/>

表的id是可以自己输入的,增加记录的操作可以执行,但是就是不能按ID查询。
请高手指点!!
...全文
436 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lveyo 2004-05-14
  • 打赏
  • 举报
回复
难道是hibernate的问题?
onefox 2004-05-09
  • 打赏
  • 举报
回复
上次也是“id”的问题,我没有解决。


作后的理解是:

hibernate 中 "id" 有它自己的用处,
它用来做类的区分,涉及很多hibernate功能.

我后来是把类自己的 "id" 换了个名字,免得跟 hibernate 冲突
也可以自己用类的 "id" 作为 hibernate "id" 的产生条件,这样比较合理
但类的 "id" 也必须唯一,因为 hibernate "id" 需要设为“主键”
rex0y 2004-05-09
  • 打赏
  • 举报
回复
用setParameter(("cardID",cardID)
jspxnet 2004-05-09
  • 打赏
  • 举报
回复
sess.load( cat, Id);
rex0y 2004-05-08
  • 打赏
  • 举报
回复
public Query setParameter(String name,
Object val)
throws HibernateException
eyoexply 2004-05-08
  • 打赏
  • 举报
回复
楼上说的也不行啊!!
试过了,也显示cannot execute query
我直接用String queryStr="from ExamineeInfo as examineeInfo where examineeInfo.cardid='00001'";
查询就没有问题。
但是用
String queryStr="from ExamineeInfo as examineeInfo where examineeInfo.cardid=:cardID";
query.setString("cardID",cardID);//cardID是一个表示证件号的参数
就不行了,好像是cardID的值传不到查询语句里。
为什么呢?
eyoexply 2004-05-08
  • 打赏
  • 举报
回复
楼上能不能说的更详细一点?
shart 2004-05-07
  • 打赏
  • 举报
回复
根据id查询,这个不是更好?

Cat cat = new DomesticCat();
// load pk's state into cat
sess.load( cat, new Long(pkId) );
Set kittens = cat.getKittens();
java悠悠 2004-05-07
  • 打赏
  • 举报
回复
up
minghuitian 2004-05-07
  • 打赏
  • 举报
回复
gz

67,549

社区成员

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

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