EJB3.0中查询boolean值的方法

我定义了一个类:HibernateBooleanDemo

只有两个属性:id和enabled,分别是String和boolean类型,分别对应表中的id和isEnabled列。并编写了相应的get和set方法和DAO类。但是如下代码很奇怪:

String hql = "from HibernateBooleanDemo where isEnabled=false";
   Session s = HibernateSessionFactory.getSession();
   Transaction t = s.beginTransaction();
   Query q = s.createQuery(hql);
   List list = q.list();
   System.out.println(list.size());
   System.out.println(((HibernateBooleanDemo)list.get(0)).isEnabled());
   t.commit();
   HibernateSessionFactory.closeSession();
在上面的查询语句中写列名即isEnabled时可以正常运行。但是写属性enabled时,却抛出异常,大概意思是说不能解析该属性。

一直不明白是什么原因。请大家指点

【AmethystWish】:

若"from HibernateBooleanDemo where isEnabled=false";写为"from HibernateBooleanDemo where enabled=false";错误如下:

aused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'enabled' in 'where clause'
   at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)
   at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
   at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
   at com.mysql.jdbc.Connection.execSQL(Connection.java:3124)
   at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1149)
   at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1262)
   at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:139)
   at org.hibernate.loader.Loader.getResultSet(Loader.java:1669)
   at org.hibernate.loader.Loader.doQuery(Loader.java:662)
   at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
   at org.hibernate.loader.Loader.doList(Loader.java:2145)
   ... 8 more

时间: 2024-11-03 10:26:24

EJB3.0中查询boolean值的方法的相关文章

ejb方法调用-EJB3.0中怎么一个类调用另外一个类的方法

问题描述 EJB3.0中怎么一个类调用另外一个类的方法 我做得的是struts+ejb3.0,在EJB中我想用BIZ调用dao,是直接New还是有别的方法...求大神指教..... 这是BIZ的方法 public List queryPet(String pelName,String pelZr,String pelType ,String px) { System.out.println("aaaaaaaaaaaaaaaaaaaa"); IDao dao=new IDaoImpl()

关于mysql查询差值的方法

问题描述 关于mysql查询差值的方法 当前我有表test,字段id,click,share 我的需求是 算出同一id,click数最大的click和share,减去click第二大的click和share 解决方案 分析: 从题主描述的字段值猜测,这是一个类似于"热帖排序"的问题,id并不是我们通常认为的主键id,而是关联到帖子的外键.click值在排序上高于share值,因此先看click再看share,通过两者的一个加权值取得排序结果. 对于题主所描述的直接需求,个人意见是先li

Android中EditText光标在4.0中的bug及解决方法_Android

本文分析了Android中EditText光标在4.0中的bug及解决方法.分享给大家供大家参考,具体如下: 一.问题: 不知道为什么,我的EditText的在我自己的手机中出现的时候,他的光标就变得没有了,我开始还以为是光标不见了,后面我修改了一下EditText的背景颜色,才发现是因为光标的颜色变成了白色,所以没有看见. 二.解决办法 : 复制代码 代码如下: android:textCursorDrawable 设置值为"@null",但是我觉得那个不怎么好看,那个地方也可以替换

Android中EditText光标在4.0中的bug及解决方法

本文分析了Android中EditText光标在4.0中的bug及解决方法.分享给大家供大家参考,具体如下: 一.问题: 不知道为什么,我的EditText的在我自己的手机中出现的时候,他的光标就变得没有了,我开始还以为是光标不见了,后面我修改了一下EditText的背景颜色,才发现是因为光标的颜色变成了白色,所以没有看见. 二.解决办法 : 复制代码 代码如下:android:textCursorDrawable 设置值为"@null",但是我觉得那个不怎么好看,那个地方也可以替换成

在JavaScript中使用NaN值的方法

  这篇文章主要介绍了在JavaScript中使用NaN值的方法,是JS入门学习中的基础知识,需要的朋友可以参考下 不带引号的字面常量NaN是一个特殊的值,表示不是非数字.由于NaN总是比较不等的情况,以任何数,包括NaN,它通常是用于指示应该返回一个有效的数的函数的错误条件. 注意:使用isNaN()全局函数来查看是否值是NaN值. 语法 您可以使用以下语法访问属性: ? 1 var val = Number.NaN; 示例 : 在这里,dayOfMonth分配NaN,如果是大于31,并显示一

JS使用ajax方法获取指定url的head信息中指定字段值的方法

 这篇文章主要介绍了JS使用ajax方法获取指定url的head信息中指定字段值的方法,实例分析了Ajax操作URL中head信息的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了JS使用ajax方法获取指定url的head信息中指定字段值的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码用来获取ajax_info.txt的head信息中的Last modified属性,最后修改时间 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1

java-Java Hibernate中查询取值

问题描述 Java Hibernate中查询取值 Sql语法是这样的:![图片说明] 用Hibernate查询的语法不知道有没有问题呢? 还有最后一个问题: 我查询后的值存在query里面了, 我又要怎么取值呢? 求大家帮帮忙 解决方案 你那ID写里面就是死值了,要么用"?"代替,要么用 "+ +" 抱起来,哪有你那么写的 解决方案二: query.list()吧,然后看返回值是什么类型就用什么类型去接收就OK了.推荐看看这个先,里面有你想要的内容:http://z

JS使用ajax方法获取指定url的head信息中指定字段值的方法_javascript技巧

本文实例讲述了JS使用ajax方法获取指定url的head信息中指定字段值的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码用来获取ajax_info.txt的head信息中的Last modified属性,最后修改时间 <!DOCTYPE html> <html> <head> <script> function loadXMLDoc(url) { var xmlhttp; if (window.XMLHttpRequest) {// code

datagrid和repeader控件中替换标识值的方法_实用技巧

DataGrid控件中替换标识值的使用: <asp:DataGrid ID="dgList" runat="server" Width="100%" AutoGenerateColumns="False"> <Columns> <asp:BoundColumn DataField="COP_G_NO" HeaderText="物料号/成品货号"><