在hibernate中有批处理的示例吗?
我可以在java hibernate中找到批处理的示例,以便在两个表上运行删除查询。查看相关章节。文档包括一章关于DML样式的操作: 如前所述,自动和 透明对象/关系映射 与管理有关 对象状态。对象状态为 在内存中可用。这意味着 直接在数据库中操作数据 数据库(使用SQL数据 操作语言(DML) 语句:插入、更新、删除) 不会影响内存中的状态。 但是,Hibernate提供了一些方法 对于大容量SQL样式的DML语句 通过以下方式执行的执行: Hibernate查询语言(HQL) UPDATE和UPDATE的伪语法 删除语句是:在hibernate中有批处理的示例吗?,hibernate,persistence,spring-batch,batch-processing,Hibernate,Persistence,Spring Batch,Batch Processing,我可以在java hibernate中找到批处理的示例,以便在两个表上运行删除查询。查看相关章节。文档包括一章关于DML样式的操作: 如前所述,自动和 透明对象/关系映射 与管理有关 对象状态。对象状态为 在内存中可用。这意味着 直接在数据库中操作数据 数据库(使用SQL数据 操作语言(DML) 语句:插入、更新、删除) 不会影响内存中的状态。 但是,Hibernate提供了一些方法 对于大容量SQL样式的DML语句 通过以下方式执行的执行: Hibernate查询语言(HQL) UPDATE和
(更新|删除)
从…起EntityName(条件在哪里)?
需要注意的几点:
- 在from子句中,from关键字是可选的
- from子句中只能有一个名为的实体。可以,, 但是,不能使用别名。如果实体 名称是别名,然后是任何属性 引用必须使用 那个化名。如果实体名称不是 别名,则对任何 要限定的属性引用
- 不能在批量中指定隐式或显式联接
HQL查询。子查询可用于
where子句,其中子查询
它们本身可能包含连接李>
- where子句也是可选的李>
Query.executeUpdate()
方法:
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
String hqlDelete = "delete Customer c where c.name = :oldName";
// or String hqlDelete = "delete Customer where name = :oldName";
int deletedEntities = s.createQuery( hqlDelete )
.setString( "oldName", oldName )
.executeUpdate();
tx.commit();
session.close();
函数返回的int值
Query.executeUpdate()
方法
指示实体的数量
受手术影响。这可能是,也可能是
可能与
数据库中受影响的行。一个HQL
批量操作可能导致
正在执行多个实际SQL语句
已执行(对于连接的子类,对于
示例)。返回的号码
指示实际发生的事件数
受报表影响的实体。
回到
联接子类,一个删除一个
实际上,子类的
in不仅针对表进行删除
该子类映射到的,但是
还有“根”表和
进一步连接子类表
继承层次结构
我不知道你的意思是什么,所以我可以在两个表上运行delete查询。请记住,如文档所述,批量操作不会级联。我有两个表。在具有公共字段的两个表中。我想运行一个查询,根据公共字段从两个表中删除记录。为此,我想执行批处理查询。请更新您的原始帖子(通过单击上面的“编辑”),而不是在评论中添加内容。