我有一个两部分的问题:
我有一个具有子实体的根 agg,并且可能有很多子实体。我一直在寻找一种有效的方法来获得特定的方法。现在唯一的方法是将它们全部加载到内存中,然后查看它们。我想要的基本上是通过索引从数据库中获取它们。有没有办法直接通过类来做到这一点而不必加载所有子实体?
在试图绕过 Q1 时,我创建了一个存储库方法来执行此操作,但显然我没有正确命名它,以便 spring 进行自动生成。我正在使用 JPA/Spring,并且我有以下存储库:
public interface FooBarRepository extends CrudRepository<FooBar, Long>{ SomeEntityThatIsAChildEntityOfTheRootAggFooBar findItemByFooBarAndOtherItem(FooBar foobar, OtherItem otherItem); }
问题是这不起作用,spring 抛出一个异常,说明它不能使用名为 FooBar 的属性
FactoryBean threw exception on object creation; nested exception is org.springframework.data.mapping.PropertyReferenceException: No property order found for type com.bla.foobar.FooBar
我尝试过使用“This”和“Id”并希望它们能奏效,但它们都没有奏效。
我尝试使用 JPQL 来获取它,但这也不起作用,因为子实体不知道它的父实体,尽管子实体表确实包含父实体的 FK。