User.hbm.xml:
<class name="com.lian.bean.User" table="users">
hibernate.cfg.xml:
<mapping resource="com/lian/bean/User.hbm.xml" />
或用注解的方式:
@Entity
@Table(name = "users")
public class User implements Serializable{ }
String sql = "select u.password from users u where u.username='" +user.getUsername()+ "'";
经过多番纠结和耐心查找资料,发现:
原来 HQL语句中表名应该是ORM映射的类名,所以应该改成:
String sql = "select u.password from User u where u.username='" +user.getUsername()+ "'";
sql 语句查找的是生成的User 类,不是普通的表。<class name="com.lian.bean.User" table="users">
hibernate.cfg.xml:
<mapping resource="com/lian/bean/User.hbm.xml" />
或用注解的方式:
@Entity
@Table(name = "users")
public class User implements Serializable{ }
String sql = "select u.password from users u where u.username='" +user.getUsername()+ "'";
经过多番纠结和耐心查找资料,发现:
原来 HQL语句中表名应该是ORM映射的类名,所以应该改成:
String sql = "select u.password from User u where u.username='" +user.getUsername()+ "'";
本文介绍了Hibernate中HQL与SQL的使用区别,特别是在表名引用上的不同。通过一个具体的示例,展示了如何正确地在HQL中引用ORM映射的类名而非直接的数据库表名。

382

被折叠的 条评论
为什么被折叠?



