近日在开发一个小系统时,出现了picture is not mapped[from picture where id = 8] 的问题。
以前都是手动编写hibernate配置文件,这是第一次使用MyEclipse自动生成POJO类和对应的hibernate配置文件,却出现了如上问题。
后来在网上查了些资料发现,问题出在了hql语句内。
我的hql语句:hql = "from picture where id"+picID;
按理来说,是没问题的,语句的解释为:从picture表中查询出id = picID的记录,但是问题就在于以往在自己写配置文件的时候,习惯性地在Picture.hbm.xml文件中,
<class name=”com.simpleton.myuniversity.domain.Picture” table=”picture” > …. </class>
把name和table写成一个名字,而hql语句是取name来表示该表,而不是用table.