我正在尝试使用Hibernate从表中检索大约1亿行.我有一个持久化的实体项目,其中包含一个费用集合(另一个持久化实体).鉴于我将迭代结果并访问每个对象的费用,我想急切地获取费用以避免n + 1问题.
我还要提一下,我想将它加入另一个名为Provider的表(一对一映射但没有外键).我试过了:
String query = "select new " + Order.class.getName()
+ "(i, p) from Item i left join fetch i.fees f, Provider p where "
+ "p.factoryId=i.factoryId and p.factoryRef=i.factoryRef";
return session.createQuery(query).scroll();
Run Code Online (Sandbox Code Playgroud)
我的Order类包含Provider字段和Item字段.我收到此错误:
引起:org.hibernate.QueryException:查询指定的连接提取,但选择列表中不存在获取的关联的所有者
我想最终得到一个可滚动的Order列表,其中包含Item(收取费用)和Provider.
我知道如何使用嵌套元素(例如here)定义ValidationRules,但是如何内联执行它?IE
<TextBox Text="{Binding Amount, ValidationRules=???, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=True}" >
Run Code Online (Sandbox Code Playgroud)
我尝试了ValidationRules={StaticResource CashAmountRule}CashAmountRule 指向我的自定义验证规则类的位置,但编译器抱怨它不是 Collection 值。我怎样才能使它成为一个?