Spring CrudRepository是否可以进行多次保存

时间:2013-09-20 19:18:38

标签: java spring

我有以下存储库,它可以让我获得许多密切相关的不同实体,但是要小得多,我宁愿不在他们自己的存储库中使用它们。由于其中一些是如何保存的,一些是通过级联父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不起作用,因为没有插入概念。我已经尝试命名保存另一个名字,希望绕过它,但这也不起作用。是否必须创建一个全新的仓库,或者一个仓库可以保存多个实体?

0 个答案:

没有答案