CrudRepository: trouver par de multiples entités liées

J'ai un peu de mal à concevoir une requête dans un CrudRepository.

J'ai deux entités, CourseOffering et Département (uniquement code indiqué):

CourseOffering.java:

public class CourseOffering implements Serializable
{
    private Department department;

    @ManyToOne(fetch = FetchType.LAZY, optional = true)
    @JoinColumn(name = "DepartmentId", nullable = true)
    @JsonProperty
    public Department getDepartment()
    {
        return this.department;
    }

    public void setDepartment(Department department)
    {
        this.department = department;
    }
}

Department.java:

public class Department implements Serializable
{
    private Set<CourseOffering> courses;

    @OneToMany(fetch = FetchType.LAZY, mappedBy = "department")
    public Set<CourseOffering> getCourses() {
        return this.courses;
    }

    public void setCourses(Set<CourseOffering> courses) {
        this.courses = courses;
    }
}

et la CrudRepository en question:

CourseOfferingRepository.java:

import java.util.List;
import edu.ucdavis.dss.dw.entities.CourseOffering;
import org.springframework.data.repository.CrudRepository;

public interface CourseOfferingRepository extends CrudRepository<CourseOffering, Long>
{
    CourseOffering getOneByTermIdAndNumberAndDepartmentId(long termId, String number,
            long departmentId);

    List<CourseOffering> findByDepartmentCode(String deptCode);

    //List<CourseOffering> findAllByDepartmentCode(String deptCodes);

    List<CourseOffering> findByTermCode(String termCode);
}

Les trois fonctions dans CourseOfferingRepository qui ne sont pas commentées fonctionner comme prévu. J'essaie d'obtenir la quatrième de travail.

Ce que je voudrais faire est d'être en mesure de revenir toutes les CourseOfferings où le code département est l'un des nombreux codes de département. Notez que le CourseOffering tableau lui-même ne détient qu'une department_id entier qui référence l'ID dans le Département de la table, où le réel deptCode est stocké.

Comment puis-je obtenir commenté CrudRepository fonction fonctionne correctement? Ou autrement dit, comment fait-on le pluriel version de "Liste findByDepartmentCode(String deptCode);"?

Merci d'avance pour tous les conseils que vous pouvez offrir.

Ne findByDeptCodeIn(Collection<String> deptCodes) faire ce que vous voulez?
Oui, je vous remercie! Ne savais pas à propos de la 'Dans' peu à la fin.
J'ai ajouté le commentaire comme une réponse 🙂

OriginalL'auteur Christopher | 2014-06-10