社区
Java EE
帖子详情
ejb查询问题
westdo
2003-03-18 02:34:59
数据库:Oracle8.17
在我的数据库表中存在status=1的记录,status的类型是char(2);我在(CMP)实体bean中查找status=1的记录,没有找到。但在sql-plus中能找到,
是不是我的字段定义的有问题?
如果要找到记录,应该怎么做比较好?
是不是oracle中的char,varchar2类型的字段在用java程序中查找都要加like?
...全文
117
13
打赏
收藏
ejb查询问题
数据库:Oracle8.17 在我的数据库表中存在status=1的记录,status的类型是char(2);我在(CMP)实体bean中查找status=1的记录,没有找到。但在sql-plus中能找到, 是不是我的字段定义的有问题? 如果要找到记录,应该怎么做比较好? 是不是oracle中的char,varchar2类型的字段在用java程序中查找都要加like?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
westdo
2003-03-19
打赏
举报
回复
我传参时用String类型了,就是出不来结果
yabbi21
2003-03-19
打赏
举报
回复
给findByStatus方法传参数时,假设查找Status='1'的对象,
则传参时用String类型,如...findByStatus("1");
yabbi21
2003-03-19
打赏
举报
回复
QL看上去没有错误。
要确认以下几点:
测试客户端的程序中的接受类型是否与QL返回相容
如果QL返回的是Collection类型,注意正确转换
westdo
2003-03-19
打赏
举报
回复
再没有人来帮我吗?
westdo
2003-03-19
打赏
举报
回复
我的QL语句:select object(c) from CarInfo AS c where c.status = ?1
CarInfo是我的实体bean名称
部署文件片段如下:
<entity>
<display-name>CarInfo</display-name>
<ejb-name>CarInfo</ejb-name>
<local-home>carmanager.CarInfoHome</local-home>
<local>carmanager.CarInfo</local>
<ejb-class>carmanager.CarInfoBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.String</prim-key-class>
<reentrant>False</reentrant>
<cmp-version>2.x</cmp-version>
<abstract-schema-name>CarInfo</abstract-schema-name>
<cmp-field>
<field-name>color</field-name>
</cmp-field>
<cmp-field>
<field-name>status</field-name>
</cmp-field>
<cmp-field>
<field-name>notes</field-name>
</cmp-field>
<cmp-field>
<field-name>carID</field-name>
</cmp-field>
<cmp-field>
<field-name>unitName</field-name>
</cmp-field>
<cmp-field>
<field-name>fType</field-name>
</cmp-field>
<cmp-field>
<field-name>engineNO</field-name>
</cmp-field>
<cmp-field>
<field-name>frameNO</field-name>
</cmp-field>
<cmp-field>
<field-name>lDate</field-name>
</cmp-field>
<cmp-field>
<field-name>licenceNO</field-name>
</cmp-field>
<primkey-field>carID</primkey-field>
<query>
<query-method>
<method-name>findByStatus</method-name>
<method-params>
<method-param>java.lang.String</method-param>
</method-params>
</query-method>
<ejb-ql>select object(c) from CarInfo AS c where c.status = ?1</ejb-ql>
</query>
<query>
<query-method>
<method-name>findAll</method-name>
<method-params />
</query-method>
<ejb-ql>select object(o) from CarInfo o</ejb-ql>
</query>
</entity>
为什么会找不到记录呢?
mg999
2003-03-19
打赏
举报
回复
是不是应该这样:status='1 '
zez
2003-03-19
打赏
举报
回复
等号前后有空格
westdo
2003-03-19
打赏
举报
回复
问题解决了。原来在Oracle中定义Char(x)类型时如果插入的数据不足x位,会在后面加空格,结果用CMP实体bean查不出.
yabbi21
2003-03-19
打赏
举报
回复
仔细检查客户端调用findByStatus(...)方法的地方,注意每一个细节。
或者你把那段代码贴上来,出错信息是什么?
laurazdm
2003-03-19
打赏
举报
回复
你的数据库中该字段定义了char(2),是不是有怪字符在数据库中啊?
wdman
2003-03-18
打赏
举报
回复
gz
westdo
2003-03-18
打赏
举报
回复
本来就是String 类型的
zez
2003-03-18
打赏
举报
回复
QL语句对吗?
看你的xml-jar.xml里,status对应的类型是什么 ?
如果是Object,改为String ...
EJB
3_Persistence开发手册-
EJB
3_QL
查询
详细介绍了
EJB
3中关于实体bean的增删改查等操作,并给出了多种示例,非常详细。
EJB
3.0
查询
语句JPQL用法
EJB
3.0
查询
语句JPQL用法 PQL 和 SQL 有很多相似之处。归根结底,它们都用于访问和操作数据库数据。而且,二者都使用非过程语句 — 通过特殊解释程序识别的命令。此外,JPQL 在语法上与 SQL 也相似。 JPQL 和 SQL 的主要区别在于,前者处理 JPA 实体,后者直接在数据库空间内对表、列、行等关系数据进行处理。
EJB
3.0从入门到精通
本书面向
EJB
3.0的实际应用开发,通过大量的实例,循序渐进地为读者介绍了有关
EJB
3.0开发所涉及的各类知识。全书共分16章,内容依次包含了Java EE概述、
EJB
基础、搭建
EJB
环境、会话bean、持久化实体、持久化实体管理器、对象关系映射、JPQL
查询
、消息驱动bean、事务、提高
EJB
3.0性能、从Web层访问
EJB
3和
EJB
安全、
EJB
和Web服务及
EJB
表现层JSF等知识,并创建了两个综合实例,分别是新闻管理系统和人事管理系统。 本书非常适合
EJB
3.0初学者和从事
EJB
项目开发的人员使用,对于开发大型的企业分布式程序是一本非常好的参考书。
ejb
增删改查实例
ejb
增删改查实例 里面是
ejb
的例子
EJB
3
查询
JPQL解析
EJB
3
查询
JPQL解析,详细解说JPQL
Java EE
67,512
社区成员
225,885
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章