MyEclipse6Java开发中文教程 remove()这些方法时,更新并不会立刻同步到数据库中,直到容器决定刷新到数据库 中时才会执行,我们可以调用fush0强制更新 createQuery0-根据 JPA QL定义查询对象 createNativeQuery0-允许开发人员根据特定数据库的SQL语法来进行查询操作,只 有 JPA QL不能满足要求时才使用它 createNamedQueryo-根据实体中标注的命名查询创建查询对象,大家还记得前面所 提到的@ Named Quene标注嘛?彼处的name属性值则对应着此方法的参数 merge( Object)-将一个 detached的实体持久化到数据库中,并转换为 managed 状态 close0-关闭实体管理器,并且会尝试更新所有数据 下面是一些示例的代码 ∥保存数据 HelloEntity Bean hello new HelloEntity Bean( 1, too") EntityTransaction trans entity Manager. getTransaction( trans. begin( ∥持久化he|o,在此操作之前helo的状态为neW entity Manager persist( hello ∥这时heo的状态变为 managed trans. commit( entity Manager. close(, ∥这时heow的状态变为 detached ∥获取 Entity 如果知道 Entity的唯一标符,我们可以用fnd(0方法来获得Enty Father father= manager. find( Father. class, new integer( 1)), ∥由干JDK15支持自动转型,也可以如下使用 Father father= manager. find( Father. class, 1); 或者可以用Enty名字作为查找。但无法利用JDK1.5的自动转型功能 需要使用对象作为查找主键,并需要对获得Enty进行转型 Father father=( Father) manager. find(" com. redsof samples Father, new Integer(f 1)) ∥更新Enty 对Enty的更新必须在事务内完成。和 persist中一样,关系元数据的 cascade属性是 否集联删除有影响。 刘长炯著MyEclipse 6 Java 开发中文教程 16 刘长炯著 remove( )这些方法时,更新并不会立刻同步到数据库中,直到容器决定刷新到数据库 中时才会执行,我们可以调用 flush()强制更新 z createQuery() – 根据 JPA QL 定义查询对象 z createNativeQuery() – 允许开发人员根据特定数据库的 SQL 语法来进行查询操作,只 有 JPA QL 不能满足要求时才使用它 z createNamedQuery() – 根据实体中标注的命名查询创建查询对象,大家还记得前面所 提到的@NamedQuerie 标注嘛?彼处的 name 属性值则对应着此方法的参数。 z merge(Object) – 将一个 detached 的实体持久化到数据库中,并转换为 managed 状态 z close() – 关闭实体管理器,并且会尝试更新所有数据 下面是一些示例的代码: // 保存数据 HelloEntityBean hello = new HelloEntityBean( 1, "foo" ); EntityTransaction trans = entityManager.getTransaction(); trans.begin(); // 持久化 hello,在此操作之前 hello 的状态为 new entityManager.persist( hello ); // 这时 hello 的状态变为 managed trans.commit(); entityManager.close(); // 这时 hellow 的状态变为 detached. // 获取 Entity 如果知道 Entity 的唯一标示符,我们可以用 find()方法来获得 Entity。 Father father = manager.find( Father.class, new Integer( 1 ) ); // 由于 JDK1.5 支持自动转型,也可以如下使用 Father father = manager.find( Father.class, 1 ); /* * 或者,可以用 Entity 名字作为查找。但无法利用 JDK 1.5 的自动转型功能, * 需要使用对象作为查找主键,并需要对获得 Entity 进行转型 */ Father father = (Father)manager.find( "com.redsoft.samples.Father", new Integer( 1 ) ); // 更新 Entity 对 Entity 的更新必须在事务内完成。和 persist 中一样,关系元数据的 cascade 属性对是 否集联删除有影响