2013-04-05 5 views
0

Я новичок.Как создать свой queru весной roo

Я пытаюсь создать пользовательский поиск. и использовала команду «repository jpa». это мое хранилище:

@RooJpaRepository(domainType = Speaker.class) 
public interface SpeakerRepository { 
    @Query("select u from Speaker u where username = :un") 
    public List<Speaker> findllAllSpeakersNamed(@Param("un") String lastname); 
    } 

Услуги:

public class SpeakerServiceImpl implements SpeakerService { 
@Autowired 
SpeakerRepository speakerRepository; 
public List<Speaker> findllAllSpeakersNamed(String lastName) { 
    return speakerRepository.findllAllSpeakersNamed(lastName); 
} 
} 

и контроллер:.

@RequestMapping("/findASpeaker/**") 
@Controller 
public class FindASpeaker { 

    @Autowired 
    SpeakerServiceImpl speakerServiceImpl; 

    @RequestMapping(method = RequestMethod.POST, value = "{id}") 
    public void post(@PathVariable Long id, ModelMap modelMap, HttpServletRequest request, HttpServletResponse response) { 
    } 


    @RequestMapping 
    public String index(@RequestParam("lastname")String lastname) { 
     String Lastname=lastname; 
     ModelMap modle=new ModelMap(); 


     List<Speaker> list = speakerServiceImpl.findllAllSpeakersNamed(Lastname); 
     modle.addAttribute("speakers",list); 

     return "findASpeaker/index"; 
    } 

} 

Это не может работать ,,,,

ответ

0

Ваше хранилище интерфейс , Предполагается, что данные Spring автоматически обнаруживают запросы на основе имени метода, такие как «List findUsersByNameDesc (имя строки)»; автоматически создаст метод для запроса для всех пользователей с заданным именем. @Query просто говорит ему не угадывать запрос, а использовать тот, который вы предоставляете. Примером может быть found here.

Смежные вопросы