我使用Spring与mysql db进行通信。 我有一个Entity类和一个扩展CrudRepository的接口。 一切都很好 - 读/写等。
我想'延伸' findAll方法。我想在返回之前操纵来自findAll的接收数据。
用户类:
@Entity
@Table(name = "user")
public class User
{
private String name;
private String age;
private String type;
getters/setters
}
回购:
@Repository
public interface UserRepo extends CrudRepository<User, Long> {
List<User> findAll();
Map<String, String> afterManipulatedFindAllData();
}
我希望afterManipulatedFindAllData()可以随意操作findAll数据。
这可能吗?
加入 在审查了@BoristheSpider链接之后:
interface UserRepository {
Map<String, String> afterManipulatedFindAllData();
}
class UserRepositoryImpl implements UserRepository{
public Map<String, String> afterManipulatedFindAllData() {
////how this method receive the 'findAll' data?//////
}
}
public interface UserRepo extends CrudRepository<User, Long>, UserRepository
{
List<User> findAll();
Map<String, String> afterManipulatedFindAllData();
}
非常感谢, 阿维
答案 0 :(得分:0)
您始终可以通过为它们指定JPA查询来定义存储库中的新方法:
@Component
public interface UsersRepository extends JpaRepository<User, UUID> {
public List<User> findByEntityStatus(EntityStatus status);
@Query("from User user left outer join fetch user.areas where user.code = :code")
public User findByCode(@Param("code") String code);
}
也许这对你有用吗?