总结1:

以下面这行代码为例:
  1. PersonDaoBeanRemote pdb = (PersonDaoBeanRemote)ctx.lookup("PersonDaoBean/remote"); 

说明:
PersonDaoBeanRemote:为远程接口
PersonDaoBean:为会话bean 

报错:
1、如果写成:
  1. PersonDaoBean pdb = (PersonDaoBean)ctx.lookup("PersonDaoBean/remote");  
报错:
java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to cn.com.zy.ebj.dao.bean.PersonDaoBean

at com.sise.lab1.test.SumBeanTest.main(SumBeanTest.java:23)  


2、如果写成:
  1. PersonDaoBean pdb = (PersonDaoBean)ctx.lookup("PersonDaoBeanRemote/remote");  
或:
  1. PersonDaoBeanRemote pdb = (PersonDaoBeanRemote)ctx.lookup("PersonDaoBeanRemote/remote"); 
 
报错:

javax.naming.NameNotFoundException: PersonDaoBeanRemote not bound 


总结:
JNDI查找用法:
远程接口  远程接口对象 = (远程接口)ctx.lookup(“会话bean/remote”);



总结2:

以下为例:
  1. Query query = em.createQuery("select p from Person p where p.sex='男'");  

说明:
person:表名
Person:实体名
(注意:大小写)

报错:
1、如果写成(查询用表名,没用实体名):
  1. Query query = em.createQuery("select p from person p where p.sex='男'");
报错:
javax.ejb.EJBException: java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: person is not mapped [select p from person p where p.sex='男']; nested exception is: java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: person is not mapped [select p from person p where p.sex='男']

2、如果写成(用sql语句查询):
  1. Query query = em.createQuery("select * from person where sex='男'"); 
或:
  1. Query query = em.createQuery("select * from Person where sex='男'");  
报错:
javax.ejb.EJBException: java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: unexpected token: * near line 1, column 8 [select * from person where sex='男']; nested exception is: java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: unexpected token: * near line 1, column 8 [select * from person where sex='男']  

总结:
查询语句不要用表名,要用实体名查询



总结3:

mysql数据源的配置:

步骤:
1、修改“JBOSS安装目录\docs\examples\jca”目录下的mysql-ds.xml:

说明:
<user-name>******</user-name>:设置安装的mysql的用户名
<password>********</password>:设置安装的mysql的密码
<jndi-name>MySqlDS</jndi-name>:为数据源的名,引用为:java:/MySqlDS,(可自行修改数据源名,但引用要与之对应上)
<connection-url>jdbc:mysql://数据源地址:3306/数据库名</connection-url>:数据源地址为IP地址,本地可用localhost,数据库名为要访问的数据库名

2、将修改后的mysql-ds.xml拷贝到“JBOSS安装目录\server\default\deploy”目录下
3、将mysql驱动(如mysql-connectot-java-5.1.9-bin,jar)拷贝到“JBOSS安装目录\server\default\lib”目录下

注:
在要用mysql数据库时一定要引入mysql驱动包




总结4:

EJB项目一定要引入“JBOSS安装目录\client”目录下的包

EJB 总结学习(1)的更多相关文章

  1. Java入门-浅析Java学习从入门到精通【转】

    一. JDK (Java Development Kit)  JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库 ...

  2. Java 学习路线

    java 入门到精通  转自:http://forum.hibernate.org.cn作者:robbinJava Learning Path (一).工具篇 一. JDK (Java Develop ...

  3. 真正的Java学习从入门到精通

    http://www.it.com.cn/f/edu/059/6/169189.htm 一. 工具篇JDK (Java Development Kit) JDK是整个Java的核心,包括了Java运行 ...

  4. Java学习从入门到精通(2) [转载]

    Java Learning Path(二).书籍篇 学习一门新的知识,不可能指望只看一本,或者两本书就能够完全掌握.需要有一个循序渐进的阅读过程.我推荐Oreilly出版的Java系列书籍. 在这里我 ...

  5. 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Spring框架的基本思想

    EJB的学习成本很高,开发效率却不高,需要编写很多重复的代码,这些问题阻止了EJB的继续发展.就在EJB技术止步不前的时候,Spring框架在合适的时机出现了,Spring框架和EJB不同,Sprin ...

  6. Spring该讲座

    看看今天Spring. 国内搞Java开发的朋友们.对Spring一定不会陌生. Spring的历史? 谈起Spring.就会想起Ejb2.0.虽然.现实中有非常多基于Ejb2.0的成功系统,可是Ej ...

  7. 走进JavaWeb技术世界10:从JavaBean讲到Spring

    Java 帝国之Java bean (上) 转自: 刘欣 码农翻身 2016-05-27 前言: 最近看到到spring 的bean 配置, 突然想到可能很多人不一定知道这个叫bean的东西的来龙去脉 ...

  8. java EE应用概述

    1.javaEE应用的分层模型 不管是经典的Java EE架构,还是轻量级的Java EE架构,大致上都可以分为以下几层: Damain Object(领域对象)层:该层是由系列的POJO(普通的,传 ...

  9. 我的EJB学习历程

    http://blog.csdn.net/sinapaper/archive/2004/06/28/28659.aspx http://blog.csdn.net/sinapaper/archive/ ...

随机推荐

  1. 【转】PL/SQL Developer使用技巧、快捷键

    原文链接:PL/SQL Developer使用技巧.快捷键 1.类SQL PLUS窗口:File->New->Command Window,这个类似于oracle的客户端工具sql plu ...

  2. 【转】Ext.ajax.request 中的success和failure

    原文链接:Ext.ajax.request 中的success和failure Ajax request对象的success事件表示request过程中没有发生错误,和自己的业务逻辑无关, 如果访问不 ...

  3. onmouseleave与onmouseout区别

    1.onmouseleave.onmouseenter,鼠标进入到指定元素区域内触发事件,不支持冒泡,不包含子元素的区域. 2.onmouseout.onmouseover.鼠标进入指定元素触发事件, ...

  4. Sublime Text 3 LESS、SASS、SCSS高亮插件、提示插件

    为sublime text 添加LESS语法高亮 功能:LESS高亮插件   下载   https://packagecontrol.io/packages/LESS 简介:用LESS的同学都知道,s ...

  5. 《Excel图表之道》读书笔记

    一.突破常规的作图方法 突破Excel的默认颜色 非数据元素用淡色 突破Excel的图表布局 图表要素:主标题.副标题.图例.绘图.脚注 竖向构图 标明数据来源.图表注释.坐标轴截断符号 专业的水蓝色 ...

  6. [简历] PHP 技能关键字列表

    本技能关键字列表是从最近招聘PHP的数百份JD中统计出来的,括号中是出现的词频.如果你的简历要投递给有机器(简历分选系统)和不如机器(不懂技术的HR)筛选简历环节的地方,请一定从下边高频关键词中选择5 ...

  7. Duplicate Symbol链接错的原因总结和解决方法-b

    duplicate symbol是一种常见的链接错误,不像编译错误那样可以直接定位到问题的所在.但是经过一段时间的总结,发现这种错误总是有一些规律可以找的.例如,我们有如下的最简单的两个类代码: // ...

  8. Python的startswith和endswith

    做文本处理的时候经常要判断一个文本有没有以一个子串开始,或者结束.Python为此提供了两个函数: S.startswith(prefix[, start[, end]]) -> bool 如果 ...

  9. OneAlert 入门(四)——事件分派和通知必达

    OneAlert 是国内首个 SaaS 模式的云告警平台,集成国内外主流监控/支撑系统,实现一个平台上集中处理所有 IT 事件,提升 IT 可靠性.有了 OneAlert,你可以更快更合理地为事件划分 ...

  10. 【HDU 4276】The Ghost Blows Light(树形DP,依赖背包)

    The Ghost Blows Light Problem Description My name is Hu Bayi, robing an ancient tomb in Tibet. The t ...