总结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. 现代密码学应用的范例-PGP

    PGP(Pretty Good Privacy),是一个基于RSA公钥加密体系的邮件加密软件. 产生背景: 电子邮件在传输中使用SMTP协议存在这样的问题 1.无法保证邮件在传输过程中不被人偷看 2. ...

  2. linux磁盘以及文件系统

    df 查看磁盘总容量 -i 显示inodes号 -h 使用合适的单位显示磁盘大小 -m 以M为单位显示 -k 以K为单位显示 默认K显示 du 用来查看某个目录或者文件所占空间大小 参数:-abckm ...

  3. mui h5 动态实现数据的移除和数据操作完后的重新获取

    HTML 代码 <ul class="mui-table-view" id="OA_task_1"> <li class="mui- ...

  4. PHP对URL设置

    一.URL规则  1.默认是区分大小写的  2.如果我们不想区分大小写可以改配置文件   'URL_CASE_INSENSITIVE'=>true,               //url不区分 ...

  5. 在ADO.NET中使用参数化SQL语句访问不同数据库时的差异

    在ADO.NET中经常需要跟各种数据库打交道,在不实用存储过程的情况下,使用参数化SQL语句一定程度上可以防止SQL注入,同时对一些较难赋值的字段(如在SQL Server中Image字段,在Orac ...

  6. POJ 3267 The Cow Lexicon 简单DP

    题目链接: http://poj.org/problem?id=3267 从后往前遍历,dp[i]表示第i个字符到最后一个字符删除的字符个数. 状态转移方程为: dp[i] = dp[i+1] + 1 ...

  7. LightOj_1408 Batting Practice

    题目链接 题意: 击球训练中, 你击中一个球的概率为p,连续击中k1个球, 或者连续击空k2个球, 则训练结束. 求结束训练所击球次数的期望. 思路: 设f[x]为连续击中x个球, 距离结束训练所需要 ...

  8. LightOj_1317 Throwing Balls into the Baskets

    题目链接 题意: 有N个人, M个篮框, 每个人投进球的概率是P. 问每个人投K次后, 进球数的期望. 思路: 每个人都是相互独立的, 求出一个人进球数的期望即可. 进球数和篮框的选择貌似没有什么关系 ...

  9. 一个Bootstrap风格的分页控件

      http://www.cnblogs.com/wangwei123/p/3682626.html 主题 jQueryBootstrap 一个Bootstrap风格的分页控件,对于喜欢Bootstr ...

  10. 得到bundle seed id

    - (NSString *)bundleSeedID { NSDictionary *query = [NSDictionary dictionaryWithObjectsAndKeys: (__br ...