Java 从从属对象列表中更新一个值
给定具有组件列表的实体:Java 从从属对象列表中更新一个值,java,hibernate,hql,lazy-loading,Java,Hibernate,Hql,Lazy Loading,给定具有组件列表的实体: class Entity{ Long id; String name; List<Component> components = new ArrayList<Component>(); } class Component{ Object value; } 那不行吗 或者,是否可以配置组件列表的延迟加载,以便第一次访问: entity.components.get(0).value = ".."; 不加载整个列表 编辑:
class Entity{
Long id;
String name;
List<Component> components = new ArrayList<Component>();
}
class Component{ Object value; }
那不行吗
或者,是否可以配置组件列表的延迟加载,以便第一次访问:
entity.components.get(0).value = "..";
不加载整个列表
编辑:
lazy=“extra”
配置对select有效(仅加载要更新的组件),但不会更新更改的组件。您无法通过HQL更新单个集合元素
从:
- from子句中只能有一个名为的实体
- 在批量HQL查询中不能指定隐式或显式联接
+1这实际上引发了非常有趣的问题。我渴望了解您将选择的最终解决方案:-)
update Entity e set e.components[:index].value = :value where e.name = :name
entity.components.get(0).value = "..";
select c
from Entity e join e.components c
where index(c) = :index