我正在使用Spring DATA JPA并选择@Query注释来创建查询(而不是使用从MethodName创建的NamedQueries和查询) 我有一个数据存储库,如下所示
public interface EventRepository extends CrudRepository<Event, Long> {
@Query("select e from Event e where e.name = :eventName)
public List<Event>findEventByName(String eventName );
}
根据Spring参考文档,界面看起来很好并且足够了。
但我需要一个impl类,因为除了上面我还需要很多其他方法。
当我创建实现EventRepository
的EventRepositoryImpl java时,我遇到了两个问题因此,对于这些问题,我可以将EventRepositoryImpl定义为abstract, 这似乎工作得很好。
但是当Spring使用抽象类作为bean时,我还需要担心其他任何事情。 或者有一种优雅的方式来解决这个问题。
感谢您的帮助。
答案 0 :(得分:2)
您不必实现所有这些方法也不必创建抽象类。查看官方documentation。
interface UserRepositoryCustom {
public void someCustomMethod(User user);
}
class UserRepositoryImpl implements UserRepositoryCustom {
public void someCustomMethod(User user) {
// Your custom implementation
}
}
interface UserRepository extends CrudRepository<User, Long>, UserRepositoryCustom {
// Declare query methods here
}