石家庄网站建设选汉狮,蓝色脚手架织梦企业网站模板,首页重庆网站建设,企业工商年报网上申报系统官网hibernate jpa介绍 Hibernate将开发人员的思维方式从SQL语句转移到实体状态转换。 一旦由Hibernate主动管理实体#xff0c;所有更改将自动传播到数据库。 操作域模型实体#xff08;及其关联#xff09;比编写和维护SQL语句容易得多。 如果没有ORM工具#xff0c;则添加新… hibernate jpa 介绍 Hibernate将开发人员的思维方式从SQL语句转移到实体状态转换。 一旦由Hibernate主动管理实体所有更改将自动传播到数据库。 操作域模型实体及其关联比编写和维护SQL语句容易得多。 如果没有ORM工具则添加新列需要修改所有关联的INSERT / UPDATE语句。 但是Hibernate也不是灵丹妙药。 Hibernate并没有使我们不必担心实际执行SQL语句。 控制Hibernate并不像人们想象的那么简单并且必须检查 Hibernate代表我们执行的所有SQL语句 。 实体陈述 如前所述Hibernate监视当前连接的实体。 但是要使实体成为受管理实体它必须处于正确的实体状态。 首先我们必须定义所有实体状态 新建瞬态从未与Hibernate会话也称为持久性上下文相关联且未映射到任何数据库表行的新创建的对象被视为处于“ 新建瞬态”状态。需要显式调用EntityManagerpersist方法或使用传递持久性机制。 持久性托管 持久性实体已与数据库表行关联并由当前运行的持久性上下文进行管理。 对此类实体所做的任何更改都将被检测到并传播到数据库在会话刷新期间。 使用Hibernate我们不再需要执行INSERT / UPDATE / DELETE语句。 Hibernate采用“事务后写”工作方式并且在当前Session刷新时间的最后一个负责时刻同步更改。 分离关闭当前正在运行的持久性上下文后所有先前管理的实体都将分离 。 不再跟踪连续的更改也不会自动进行数据库同步。要将分离的实体与活动的Hibernate会话相关联可以选择以下选项之一 重新连接 删除尽管JPA要求只允许删除管理实体 但是Hibernate也可以删除分离的实体 但只能通过Sessiondelete方法调用。删除的实体仅计划删除并且将执行实际的数据库DELETE语句在会话刷新期间。 实体状态转换 要更改一个实体状态我们需要使用以下实体管理接口之一 实体管理器 届会 这些接口定义了实体状态转换操作我们必须显式调用以将实体状态更改通知给Hibernate。 在刷新时实体状态转换会具体化为数据库SQL语句INSERT / UPDATE / DELETE。 翻译自: https://www.javacodegeeks.com/2014/07/a-beginners-guide-to-jpahibernate-entity-state-transitions.htmlhibernate jpa