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.load或find或get返回的对象总是持久化状态。
6.find方法返回的list存放的都是持久化对象。
7.update、save、SaveOrUpdate和Lock方法使游离对象装变
为持久化对象。
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.没有ejb的java 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 阅读(257)
评论(0) 编辑 收藏