我有以下存储库,它可以让我获得许多密切相关的不同实体,但是要小得多,我宁愿不在他们自己的存储库中使用它们。由于其中一些是如何保存的,一些是通过级联父Aggs保存的,另一个是通过调用save(fooBar)手动保存的;
@Repository
@Transactional
public interface FooBarRepository extends CrudRepository<FooBar, Long> {
FooBar findBySomeField(SomeField somefield);
@Query("SELECT p FROM SomeCloselyRelatedFooBarItem p")
public List<SomeCloselyRelatedFooBarItem > findAllSomeCloselyRelatedItem();
}
我现在有一个新的需要手动保存,我希望避免为这个项目创建一个新的仓库,因为它密切相关,并且只会与FooBar一起使用,但与FooBar没有直接关系
@Repository
@Transactional
public interface FooBarRepository extends CrudRepository<FooBar, Long> {
FooBar findBySomeField(SomeField somefield);
@Query("SELECT p FROM ConceptuallyRelatedToFooBarButSavedThroughCascade p")
public List<ConceptuallyRelatedToFooBarButSavedThroughCascade> findAllConceptuallyRelatedToFooBarButSavedThroughCascade();
public OtherItem save(OtherItem otherItem); //Springs doesn't like this because it's looking for a field on FooBar called save.
}
但Spring不喜欢这个,因为它正在寻找一个名为save on FooBar的字段。 @Query不起作用,因为没有插入概念。我已经尝试命名保存另一个名字,希望绕过它,但这也不起作用。是否必须创建一个全新的仓库,或者一个仓库可以保存多个实体?