随笔分类 -  ejb

摘要:1.修改jboss-6.simple\server\default\deploy\transaction-jboss-beans.xml配置文件中增加true2.添加xx_ds.xml配置文件 比如有两个数据库sqlserver和oracle 添加mssql-ds.xml添加oracle-ds.xml 如果有两个sqlserver或者oracle,在一个配置文件中添加两个3.配置persistence.xml其中 true不能少,com.railway.entity.AssetsEntity com.railway.entity.FaultEntity为你对应数据库的实体类。4.调用Datas 阅读全文
posted @ 2014-02-11 09:58 若 ♂ 只如初见 阅读(505) 评论(0) 推荐(0)
摘要:要调用存储过程,我们可以通过 EntityManager 对象的 createNativeQuery()方法执行 SQL 语句(注意:这里说的是SQL 语句,不是 EJB3 QL),调用存储过程的 SQL 格式如下:{call 存储过程名称(参数 1, 参数 2, …)}在 EJB3 中你可以调用的存储过程有两种1.无返回值的存储过程。2.返回值为 ResultSet(以 select 形式返回的值)的存储过程,EJB3 不能调用以 OUT 参数返回值的存储过程。下面我们看看几种具有代表性的存储过程的调用方法.1 调用无返回值的存储过程我们首先创建一个名为 AddPerson 的存储过程,他的 阅读全文
posted @ 2014-01-27 13:18 若 ♂ 只如初见 阅读(354) 评论(0) 推荐(0)
摘要:通过sql语句查询出来的结果字段没有到对应实体类时的处理方法,对于Person类获取用户第一个名字和年龄两个字段,常见的有两种方式: 1、在创建一个与查询结果字段对应的类,然后通过构造函数实现: Query query = em.createQuery("select new com.ejb.bean.SimplePerson(p. firstname, p.age) from Person p "); 2、通过sql语句将查询结果放到Object数组中,然后再获取一个List集合,里面存放的是Object数组: Query query = em.createNativeQ 阅读全文
posted @ 2013-11-18 10:41 若 ♂ 只如初见 阅读(3024) 评论(0) 推荐(0)
摘要:一、环境搭建: 1、准备jboss服务器,将对应数据库的xml配置好放到jboss的发布目录下。 MySqlDS jdbc:mysql://192.168.1.11:3306/test?useUnicode=true&characterEncoding=utf-8 com.mysql.jdbc.Driver root root org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter 2、创建普通的java项目 在该项目的src目录下的META-INF目录下创建p... 阅读全文
posted @ 2013-11-06 17:34 若 ♂ 只如初见 阅读(670) 评论(0) 推荐(0)
摘要:JPQL就是一种查询语言,具有与SQL相类似的特征,JPQL是完全面向对象的,具备继承、多态和关联等特性,和hibernate HQL很相似。查询语句的参数JPQL语句支持两种方式的参数定义方式:命名参数和位置参数。。在同一个查询语句中只允许使用一种参数定义方式。命令参数的格式为:“: +参数名”例:Query query = em.createQuery("select p from Person p where p.personid=:Id");query.setParameter("Id",new Integer(1));位置参数的格式为“?+位置 阅读全文
posted @ 2013-09-02 14:26 若 ♂ 只如初见 阅读(1001) 评论(0) 推荐(0)
摘要:对于EJB懒加载时,由于没有hibernate中的opensessionview,那么需要在会话结束之前就加载数据,可以选择在dao层实现,代码如下:public TBLDeliveryWarrant find1(String id) throws ServiceException { try { TBLDeliveryWarrant deliveryWarrant = deliveryWarrantDao.find(id); Set<TBLGoods> goods = deliveryWarrant.getGoods(); if (goods != null && 阅读全文
posted @ 2013-06-13 10:54 若 ♂ 只如初见 阅读(317) 评论(0) 推荐(0)
摘要:serviceA中通过DAO从数据库里取得一些实例化的Model供Action使用,在service返回后,后台hibernate的session实际就结束了。若使用了延迟加载,此时再想访问这些具备one-to-many映射的model的“多”的一方时就会扔出异常,报告session已关闭,即使fetchType.EAGER也一样。正因为如此,Spring才提出一个OpenSessionInView的解决办法,但该办法实际也不是万能的,有时一样出错。这种情况在EJB3也是存在的,当实体Bean返回给客户端的时候,这时的实体Bean已经脱离了容器的管理,若使用了延迟加载,在获取“多”的一方时就会 阅读全文
posted @ 2013-06-06 14:42 若 ♂ 只如初见 阅读(127) 评论(0) 推荐(0)
摘要:第一个EJB项目 -hxzon -ejbcode一,新建一个EJB项目。命名为firstEjb。1,新建一个接口。package hxzon;public interface Hello {public String saySomething(String name);}2,新建一个无状态会话bean。package hxzon;import javax.ejb.Remote;import javax.ejb.Stateless;@Stateless@Remotepublic class HelloBean implements Hello { public String saySomethi 阅读全文
posted @ 2013-05-29 13:54 若 ♂ 只如初见 阅读(491) 评论(0) 推荐(0)
摘要:EJB中有三种Bean,EntityBean,SessionBean,MessageBean,其中MessageBean就是用来发送消息的。服务器:JBoss 4.2EJB中支持两种类型的消息,一种是Topic,一种是Queue。Topic:基于发布/订阅的方式,允许有多个接受者,消息生产者将消息发送到主题上,接受者必须先订阅该主题。Queue:点对点的方式,只能被一个接受者接受一次,消息生产者把消息发送到队列中,不需订阅。要在JBoss中使用JMS,需要配置一些文件1.%JBOSS_HOME%\server\default\deploy 下mail-service.xml,该文件用于配置发送 阅读全文
posted @ 2013-05-27 15:05 若 ♂ 只如初见 阅读(213) 评论(0) 推荐(0)
摘要:detached entity passed to persist:简单地说,发生此异常即是一个游离的对象要被持久化(save)时,其ID既要ORM框架为它生成ID值,而此实体的ID却已然有值。 阅读全文
posted @ 2013-04-18 11:14 若 ♂ 只如初见 阅读(701) 评论(0) 推荐(0)
摘要:@Entity@Table(name="person_one")public class Person { private Integer id; private String name; private IDCard idcard; @OneToOne(cascade={CascadeType.ALL},optional=false) @JoinColumn(name="idcard_id") public IDCard getIdcard() { return idcard; } public void setIdcard(IDCard idcard 阅读全文
posted @ 2013-04-15 20:30 若 ♂ 只如初见 阅读(181) 评论(0) 推荐(0)
摘要://省略了set方法/** * 关系维护端 */@Entity@Table(name="student_many")public class Student { private Integer id; private String name; private Set teacher = new HashSet(); public Student(){} public Student(String name) { super(); this.name = name; }//inverseJoinColumns 表示关联对方表主键,映射到中间表的字段为teacher_id @M 阅读全文
posted @ 2013-04-15 20:28 若 ♂ 只如初见 阅读(171) 评论(0) 推荐(0)
摘要:/** * 关系被维护端 * @author Administrator * */@Entity@Table(name="orders")public class Order { private String orderid; private Float amount; private Set orderitem=new HashSet(); @Id public String getOrderid() { return orderid; } @Column(nullable=false) public Float getAmount() { return amount; 阅读全文
posted @ 2013-04-15 20:24 若 ♂ 只如初见 阅读(249) 评论(0) 推荐(0)
摘要:import java.util.Date;import javax.persistence.Basic;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.EnumType;import javax.persistence.Enumerated;import javax.persistence.FetchType;import javax.persistence.GeneratedValue;import javax.persistence.GenerationTyp 阅读全文
posted @ 2013-04-15 20:20 若 ♂ 只如初见 阅读(1647) 评论(0) 推荐(0)
摘要:引用:http://home.51.com/kufei520/diary/item/10042994.html1. What is EJB EJB(Enterprise JavaBean)是JavaEE应用的业务层技术标准, 以这项技术开发的组件叫做EJB组件,常常简称EJB EJB架构是一个用于开发和部署基于组件的分布式业务应用的组件架构。 采用EJB架构编写的应用是可伸缩的、事务性的、多用户安全的。 可以一次编写这些应用,然后部署到任何支持EJB规范的应用服务器平台上。 特点(和JavaBean比较): 1)提供远程访问的能力 2)可扩展、可插拔的能力 3)必须在EJ... 阅读全文
posted @ 2013-04-07 10:34 若 ♂ 只如初见 阅读(726) 评论(0) 推荐(0)
摘要:1 需要将联合主键定义在一个实体类中,用@Embeddable注解标志。@SuppressWarnings("serial")@Embeddablepublic class TBLUserRolePK implements Serializable { /** 用户id */ private String userId; /** 角色id */ private String roleId; /** * 构造函数 */ public TBLUserRolePK() { super(); } /** * 构造函数 * @param userId 用户id * @param r. 阅读全文
posted @ 2013-04-05 13:58 若 ♂ 只如初见 阅读(269) 评论(0) 推荐(0)
摘要:1 mappedBy:出现于关系被维护端中,相当于inverse=true,表示对方维护关系。用于定义双向关系,在单向关系中不使用。在关系被维护端建立外键列指向关系维护端的主键列。2 optional:中文意思是可选的,如果为true表示可选的,反应到数据库表示另一方为null,如果为false表示不可选,反应到数据库表示另一方必须要有值,不可以为null。3 cascade:级联操作,值为refresh表示刷新,可能被其它操作修改原来的记录,这样就获取不到最新的记录,因此使用refresh;值为persist表示级联保存,值为merge表示级联更新,值为remove表示级联删除。它们都对应到 阅读全文
posted @ 2013-04-03 15:36 若 ♂ 只如初见 阅读(495) 评论(0) 推荐(0)
摘要:... 阅读全文
posted @ 2013-04-01 09:52 若 ♂ 只如初见 阅读(575) 评论(0) 推荐(0)