HQL hibernate容易出错的细节

  1. 实体映射类如果使用符合主键(非自生成ID),那么取得总量的HQL,不能用count(o),o是实体类的别名;只能用count(*)
  2. 复合主键的操作方式
    • 类定义上加注释,@IdClass(类名.主键子类.class)
    • 每个主键加注释@Id
    • 将主键子类定义为static类型,这样才能使用第一条的写法,并在列名加数据库映射@Column(name = "APP_ID")
  3. 使用符合主键时,如果用?替换方式,参数需要指定主键类的实例
  4. 自定义主键,不用hibernate提供的get方法,而是改用find方法,写hql去获得。

你可能感兴趣的:(HQL hibernate容易出错的细节)