随笔-54  评论-0  文章-2  trackbacks-0

    

                                    JPA第二天

   今天JPA的第二天,继续学习关联,还有分页,设置参数,单值检索等重点,下午是EJB的介绍,实现。这其中足见老师水平之高,经验太丰富了。好 ,作总结:

1. 多对一单向关联

2.一对多

@OneToMany(mappedBy=””) 忽略关联关系

mappedBy让对端忽略关系的变化,相当于HibernateSet集合中的inverse,缓存就不再负责set

em.find(Order.class,1);默认迫左/延迟

3.一对一外键关联

 <many-to-one name=”addr” column=”aid” class=”Addr” unique=”true”/>

 <one-to-one name=”” column=”” property-ref=”addr”/>

JPA中的实现

@OneToOne[观察自动创建出来的表结构]

 class User{

    @OneToOne

    protected Addr addr;

 class Addr{

    @OneToOne(mappedBy=“addr", optional="false");

    protected User user;

 }

 mappedBy:控制权问题

 optional:false 表示没有用户的BillingInfo是不能单独存在的.

4.多对多

@ManyToMany

 @ManyToMany

 protected Set<Student> students;

 @ManyToMany(mappedBy=“students")

 protected Set<Teacher> teachers;

5.继承关系

 Employee为例

                Employee{id name age}

HourEmployee(HE){rate}          SalaryEmployee(SE){salary}

映射继承关系树:整个继承关系树对应一张表

游离,临时,持久 详解:

1.位于一个session缓存中,总是被一个

      session关联。

   2.持久化对象和数据库记录相对应。

   3.清理缓存时,会根据对象属性变化,同步

      更新数据库。

   4.save把临时对象转变为持久化对象。

   5.loadfindget返回的对象总是持久化状态。

   6.find方法返回的list存放的都是持久化对象。

   7.updatesaveSaveOrUpdateLock方法使游离对象装变

     为持久化对象。

6分页:

 ("findCustomerByName");

 query.setParameter("name", "t,om");

 query.setMaxResults(10);

 query.setFirstResult(3); query = em.createNamedQuery

 List customers = query.getResultList();

7、设置参数:

 SELECT o FROM Order i WHERE i.orderNo = ?1

 query.setParameter(1, 100.00);

 SELECT o FROM Order i WHERE o.price = :price

 query.setParameter("price", 100.00);

8.单个实体检索

 query.getSingleResult();

9.

查询集合:

 WHERE c.orders IS EMPTY

 WHERE CONCAT(c.fname, c.lname) = 't,om'

 SELECT c.id, c.name FROM Customer c

10.多态查询

 SELECT c FROM Customer c WHERE c.name LIKE :name

11.分组

 SELECT o.customer, COUNT(o.id) FROM Order o

                                     GROUP BY o.customer

12.排序

 order by

13.子查询

 SELECT o FROM Order I WHERE o.customer IN

 (SELECT c FROM Customer c WHERE c.name LIKE ?1)

                                        EJB

1.ejb简介:enterprise java bean就是开发分布式组件的。in

ejb容器具有负载均衡 容 错 线程池 安全 高并发性等功 能。

EJB = pojo + @ 

spring:业务层 管理bean的,容器key-value.没有ejbjava ee

j2ee : 开发分布式企业级应用的规范(jsp servlet jpa ejb

2.开发EJB步骤:

1.下载安装jboss

2.配置环境变量:

 JBOSS_HOME    JBOSS安装目录

3.web服务器端口(${jboss_home}"server"default"deploy"jboss-web.deployer"server.xml[22]

4.启动。${jboss_home}"bin"run.bat

IDE中配置服务器:

 windows/首选项/myeclipse/servers/jboss/4.x/运行模式(非调式模式) + jdk1.5.

5.启动服务器,进入管理页面.http://localhost:8088/

 点击[JMX Console]超链接

 点击Jboss/service=JNDIView

 ok.

今天就OK了!


posted on 2010-02-22 00:14 d66380022 阅读(251) 评论(0)  编辑  收藏