zoukankan      html  css  js  c++  java
  • hibernate hql语句 注意事项

    现在有实体类 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[]>

  • 相关阅读:
    poj3614 Sunscreen 题解报告
    poj2299 Ultra-QuickSort 题解报告
    poj3784 Running Median 题解报告(对顶堆)
    CH103 Cinema 题解报告
    poj1845 Sumdiv 题解报告
    poj2018 Best Cow Fences 题解报告
    $CF311B Cats Transport$ 斜率优化
    斜率优化入门题:任务安排$123$ : )
    $Poj1821 Fence $单调队列优化$DP$
    《算法竞赛》$0×00$基本算法
  • 原文地址:https://www.cnblogs.com/xlj227/p/8615945.html
Copyright © 2011-2022 走看看