【发布时间】:2014-07-31 13:27:21
【问题描述】:
我在 CrudRepository 中设计查询时遇到了一些问题。
我有两个实体,CourseOffering 和 Department(仅显示相关代码):
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;
}
}
部门.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;
}
}
以及相关的 CrudRepository:
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);
}
CourseOfferingRepository 中未注释掉的三个函数按预期工作。我正在努力让第四个工作。
我想做的是能够返回部门代码是许多部门代码之一的所有 CourseOfferings。请注意,CourseOffering 表本身仅包含一个 department_id 整数,该整数引用 Department 表中的 ID,其中存储了实际的 deptCode。
如何让被注释掉的 CrudRepository 函数正常工作?或者换一种说法,“List findByDepartmentCode(String deptCode);”的复数形式是如何产生的?
提前感谢您提供的任何建议。
【问题讨论】:
-
findByDeptCodeIn(Collection<String> deptCodes)做你想做的事吗? -
好的,谢谢!不知道最后的“In”位。
-
我添加了评论作为答案:)
标签: java sql spring hibernate spring-data