2017-12-06 3 views
0

Ich bin neu in der Verwendung von CRUD Repository.Abrufen einer Ergebnisliste mit CRUD Repository

Ich habe eine Datenbanktabelle mit drei Spalten:

course_id, Name, Kurs

ich eine Liste von course_id erhalten möchten geben Namen, beispielsweise

SELECT id FROM table WHERE name='charmaine'; 

Ich möchte dies jedoch nicht mit der Abfrage tun, sondern mit dem crud-Repository.

In meinem Controller wurde ein Fehler angezeigt. Darf ich wissen, dass dieser Fehler vorliegt?

Mein Controller

@GetMapping(value = "getting/{name}") 
    //@ResponseBody 
    public String getting(@PathVariable("name") String name) { 
     List<CourseMaster> getIds = CourseService.findIdByName(Name); —> error icon here 
     return getIds; —> error icon here 
    } 

Dienst

public List<CourseMaster> findIdByName(String Name) { 
    return CourseMasterRepo.findByName(Name); 
} 

Repository

public interface CourseMasterRepo extends CrudRepository<CourseMaster, Long> { 
    List<CourseMaster> findByName(String Name); 
} 
+3

Ihre Frage ist mir nicht klar. Was ist ein Fehler im Controller? –

+0

@Liviu Sosu kann nicht kompiliert werden. Es gibt ein Fehlersymbol neben meinem Code. – Learner

Antwort

0

wenn Ihr Code in Java Frühjahr getan wird Sie HQL Sprache in Hibernate verwenden müssen, das ist eine Schnittstelle von SQL-Abfrage.

hql Abfrage, die Lambda-Ausdruck verwenden, ist sehr einfach und nützlich.

Zum Beispiel

String hql = "FROM Employee E WHERE E.id = 10"; 
Query query = session.createQuery(hql); 
List results = query.list(); 
1

Sie haben wie Dienstklasse in Ihrem Controller autowired.

@Autowired 
CourseService courseService; 

@GetMapping(value = "getting/{name}") 
public String getting(@PathVariable("name") String name) { 
    List<CourseMaster> getIds = courseService.findIdByName(Name); 
    return getIds; 
} 
Verwandte Themen