现在有实体类 Student 和User 。

public class Student{

  private String id;

  private Sting classRoom;

  private User user;

@Id
@GeneratedValue(generator = "paymentableGenerator")
@GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
@Column(name ="ID",nullable=false,length=36)
public String getId(){
return this.id;
}
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "USER")
@ForeignKey(name="null")
public USER getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
……

}

public class User{

  private String id;

  private String name;

  private String password;

  ……

}

如果 你不用select 直接 “from Student ”查找

hql语句 :“from Student where user=‘123456’”

那么where 后面 直接加 “where user='123456'”  (123456是User表记录的id)。

如果你要用select “select classRoom…”查找

hql语句 :"select “select classRoom,user.name as user from Student where uder.id='123456'"

那么where语句已经select中 的user已经是个对象了要加 .? (123456是User表记录的id)。

你用了 select 了,那你就别执着用hibernate的hql了 ,因为你得到的结果 也不再是实体类,获取结果也不能用 List<Studet>了,变成了List<Object[]>。。。

很难受 - - 还不如直接用sql查,获取结果也是List<Object[]>

hibernate hql语句 注意事项的更多相关文章

  1. hibernate -- HQL语句总结

    1. 查询整个映射对象所有字段 //直接from查询出来的是一个映射对象,即:查询整个映射对象所有字段 String hql = "from Users"; Query query ...

  2. hibernate hql 语句中 in 的用法

    例子描述查询一些班级中的学生 /** * * @param city * @return */ public List<Student> studentList(final Integer ...

  3. hibernate hql语句 group by having 的坑

    我期望获得这个列表 然而,使用hql只能获得第一条数据,后来我琢磨了一下,和group by有关系 应该改成 成功查询到

  4. 分享知识-快乐自己:Hibernate 中的 HQL 语句的实际应用

    概要: Hibernate 支持三种查询方式: HQL查询.Criteria查询及原声 SQL (Native SQL)查询. HQL(Hibernate Query Language,Hiberna ...

  5. 【Hibernate 6】常用的hql语句以及N+1问题

    HQL:Hibernate Query Language,是Hibernate框架中的查询语言,十分接近于SQL语言!以下介绍一些常用的Hql语句: 一.测试类 Classes类: <span ...

  6. Hibernate 的HQL语句,初级

    这里讲解简单的HQL语句,因为很多比较复杂的外查询,用一般的查询很难完成 所以这里需要使用HQL @Test public void selquery(){ System.out.printf(&qu ...

  7. hibernate 之 HQL语句总结【转】

    1. 查询整个映射对象所有字段 //直接from查询出来的是一个映射对象,即:查询整个映射对象所有字段 String hql = "from Users"; Query query ...

  8. Hibernate HQL查询语句总结

    Hibernate HQL查询语句总结 1. 实体查询:有关实体查询技术,其实我们在先前已经有多次涉及,比如下面的例子:String hql="from User user ";L ...

  9. Hibernate框架HQL语句

    这篇随笔将会记录hql的常用的查询语句,为日后查看提供便利. 在这里通过定义了三个类,Special.Classroom.Student来做测试,Special与Classroom是一对多,Class ...

随机推荐

  1. python opencv3 写字画圈画矩形

    python opencv练习 自定义一张[512, 512, 3]的图像 在上面写写字,画画圈和矩形 显示 代码为: import cv2 import numpy as np img = np.z ...

  2. @Formula

    @Formula  计算临时属性. 相当于可以关联查询字段,然后放在实体中当做属性使用. 任务:在User实体层,增加一个额外的属性,来获取Test表中的name字段. 1 表结构 User表 Tes ...

  3. Web安全之跨站伪造请求(CSRF)

    CSRF简介 CSRF全称跨站伪造请求(Cross-site request forgery)也称为one click attack/session riding,还可以缩写为XSRF 通俗说就是利用 ...

  4. Java动态代理与CGLib

    Java帝国之动态代理 CGLib:从兄弟到父子-动态代理在民间是怎么玩的? 以上两篇文章引用自微信公众号: 码农翻身 Java动态代理 深度详解 以上文章引用博客园:陈树义

  5. Android开发 AndroidStudio解决Error:moudle not specified

    问题描述 在使用Android Studio 进行Builder APKs的时候,如果发现无法degub, 进行配置的时候 没有module可以进行指定 问题原因 项目未与Grade Files 文件 ...

  6. java实现单链表增删改查

    package 数据结构算法.链表; /* *定义节点 * 链表由节点构成 */ public class Node<E> { private E e; //数据data private ...

  7. go操作空指针导致supervisor进程服务挂机的坑

    一.起因 在数据库中直接手动插入了某条记录,但由于该记录的某个字段的空值,与另一个字段的状态码不符合,在go程序中,突然操作了该空字段的指针,导致程序panic挂机. panic: runtime e ...

  8. golang的时区转换

    一.代码 package main import ( "fmt" "time" ) const TIME_LAYOUT = "2006-01-02 1 ...

  9. Ubuntu 上如何安装Docker

    Docker 是一个开源项目,为开发者和系统管理员提供了一个开放的平台,在任何地方通过打包和运行应用程序作为一个轻量级的容器.Docker 在软件容器内自动部署应用程序.Docker 最开始由 Sol ...

  10. 高性能代理缓存服务器—Squid

    Squid是什么? Squid是一款比较知名的开源代理缓存软件,它不仅可以跑在linux上还可以跑在windows以及Unix上,它的技术已经非常成熟.目前使用Squid的用户也是十分广泛的. Squ ...