第27章使用JPA完成实体的增删改查.pptVIP

  • 3
  • 0
  • 约6.7千字
  • 约 32页
  • 2017-07-17 发布于四川
  • 举报
27.1 实体的状态及操作 27.1.1 持久化实体实例 通过调用实体管理器的persist方法可以使一个实体实例变成管理的和持久的。 如果X是一个新的实体,会变成被管理的。在事务提交之前,X会被写到数据库中。 如果X是一个已经存在的被管理的实体,持久操作将被忽略。但是如果X与它的关联实体之间的关系使用cascade=PERSIST或者cascade=ALL标注,意味着持久操作将影响所关联的实体,会持久化关联的实体。例如订单包含多个订单项,在持久化订单的时候,会持久化订单所涉及的订单项。 如果X是一个删除的实体,它将变成被管理的。 如果X是一个分离的对象,当调用persist操作的时候,将抛出EntityExistsException。或者在调用flush或者commit方法的时候产生类似的异常。 对于所有实体X关联的实体Y,如果与Y的关联关系使用cascade=PERSIST或者cascade=ALL进行标注,持久操作将用于Y。例如在持久化订单的时候,与订单关联的订单项都会被持久化。 27.1.2 删除实体 通过调用实体管理器的remove方法或者级联的删除操作,一个被管理的实体实例可以变成被删除的。 如果X是一个新建的实体,remove操作将被忽略。但是删除操作会被级联到关联的实体,如果关联关系标注为cascade=REMOVE或者cascade=ALL。 如果X是一个被管理

文档评论(0)

1亿VIP精品文档

相关文档