e_ver 2009-08-12 09:49
浏览 658
已采纳

关于java枚举类型字段的查询

[code="java"]
public class Product(){

public enum NType {
NOTEBOOK/*笔记本*/,MOBILE/*手机*/,CAMERA/*相机 摄像机*/,MP34/*MP3,MP4*/,OTHERDIGITAL/*其它数码*/
}

private Long id;

private String name;

private NType nType;

//略去SET GET方法

}

[/code]

ORM框架用的是HIBERNATER
现在想要查询某一类产品 如手机类 我的HQL写法如下:
select p from Product p where p.nType='MOBILE' order by p.id desc;

当然这样得不到我想要的结果 每次他默认查笔记本类去了 不管我nType值是CAMERA还是MP34==

如果我不写where p.nType='MOBILE' 这个过滤条件 那么就不会默认查笔记本类型的PRODUCT了 所以我想是我的枚举类型的查询写错了 不是这样写

因为用原生的SQL可以实现

请那位过路的神仙帮忙下 谢了

[b]问题补充:[/b]
[code="java"]
@Entity

public class Product(){

public enum NType {

NOTEBOOK/*笔记本*/,MOBILE/*手机*/,CAMERA/*相机 摄像机*/,MP34/*MP3,MP4*/,OTHERDIGITAL/*其它数码*/

}

//略去注解

private Long id;

//略去注解

private String name;

[b]@Column(name="gtype")[/b]

private NType nType;

//略去SET GET方法

}

[/code]

  • 写回答

2条回答 默认 最新

  • wanghaolovezlq 2009-08-24 11:33
    关注

    你应该用动态设置查询条件的参数
    String hql = "select p from Product p where p.nType=? order by p.id desc";

    query.setParameter(0,NType.MOBILE);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化