EJB(Enterprise JavaBean)整理总结

本文详细介绍了EJB在企业级应用中的三种类型:实体Bean、消息驱动Bean和会话Bean,并深入探讨了它们的属性与映射关系。实体Bean讨论了fetch、optional、orphanRemoval和cascade等属性,以及如何实现时间等值的映射;会话Bean部分则通过示例展示了如何使用注解如@Stateless、@Resource和@PUT等进行操作。

EJB(Enterprise JavaBean):

实体Bean(Entity Bean)

消息驱动Bean(MessageDriven Bean)

会话Bean(Session Bean):Statefull Session Bean、Stateless Session Bean、Singleton Session Bean


实体Bean(Entity Bean):

fetch属性:设定提取该Entity时是否立即提取该属性信息,值:eagerly,lazy

optional属性:设定关系是否可空。类似的有nullable属性是设定数据库中该列是否可空。

orphanRemoval属性:设定在删除关系时是否同时删除对应的Entity

cascade属性:对一个实体类进行操作时是否对有对应关系的实体自动进行相同的操作。值:PERSIST(持久化操作),MERGE(持久化和修改操作),REMOVAL,REFRESH,ALL。

mappedBy属性:建立双向映射时标注对应的EntityBean中的属性名。

主键自动生成:

@Id

@GeneratedValue(strategy = GenerationType.AUTO)

private long id;

时间等值的映射:

@Temporal(TemporalType.TIMESTAMP)将对象映射成DATA或TIME或TIMESTAMP值,默认TIMESTAMP。

多对多映射时的映射表:

@ManyToMany

@JoinTable(

name="menu_category_relation",

joinColumns=

@JoinColumn(name="menu_id", referencedColumnName="id"),

inverseJoinColumns=

@JoinColumn(name="category_id", referencedColumnName="id")

)
 @OrderBy("name ASC")

private List<Category> categories;

会话Bean(Session Bean):

@Stateless
@Path("/orders")
public class DishOrdersBean {
@PersistenceContext
EntityManager em;


@Resource
SessionContext sc;


@PUT
@Consumes("application/json")
@Produces("application/json")
public JSONObject addOrder(JSONObject jo) {}

@POST
@Consumes("application/json")
@Produces("application/json")
public JSONObject updateOrder() {}


@GET
@Path("/list")
@Produces("application/json")
public JSONArray getList() {}

@GET
@Path("/infolist")
@Produces("application/json")
public JSONArray getOrderInfoList() {}

@GET
@Path("/{tableNo}")
@Produces("application/json")
public JSONArray getListByTableNo(@PathParam("tableNo") long tableNo) {}

@POST
@Path("/{orderId}/{status}")
public void updateStatus(@PathParam("orderId") long orderId,@PathParam("status") String status) {}

@DELETE
@Path("/{orderId}")
public void deleteOrder(@PathParam("orderId") String orderIdStr) {}

}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值