Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中使用Hibernate更新实体列表_Java_List_Hibernate_Sql Update - Fatal编程技术网

在Java中使用Hibernate更新实体列表

在Java中使用Hibernate更新实体列表,java,list,hibernate,sql-update,Java,List,Hibernate,Sql Update,我使用以下代码从数据库中获取实体列表: List<NeginHotData> neginHotData = getNeginHotDataByStatus(null); List neginHotData=getNeginHotDataByStatus(null); 然后我需要将它们的Status字段从NULL改为Active,这没关系,问题是,在不遍历对象列表并逐个更新它们的情况下,是否可以这样做?对我来说,这听起来效率不高。 我需要一个解决方案来完全更新它们,因为我有大约70

我使用以下代码从数据库中获取实体列表:

List<NeginHotData> neginHotData = getNeginHotDataByStatus(null);
List neginHotData=getNeginHotDataByStatus(null);
然后我需要将它们的Status字段从NULL改为Active,这没关系,问题是,在不遍历对象列表并逐个更新它们的情况下,是否可以这样做?对我来说,这听起来效率不高。
我需要一个解决方案来完全更新它们,因为我有大约7000条记录,遍历对象列表并逐个更新它们并不是一个好的解决方案。

您可以像这样使用HQL:

    String hqlUpdate = "update NeginHotData c set c.status = :status where c.bla= :bla"; 
    int updatedEntities = s.createQuery( hqlUpdate ).setString( "bla", bla).setString( "status", status).executeUpdate(); 
仅当为所有涉及的实体设置相同的状态时,此操作才有效