表格:
StudentHistory 1--->n Student
TeacherHistory 1--->n Teacher
我尝试重新组合历史的 JPA 行为,因为它们做同样的事情(例如,从给定的历史中检索学生/老师)。
具有泛型类型的实体:
// Entities
public abstract class AbstractHistory <T> {}
public class StudentHistory extends AbstractHistory<Student> {}
public class TeacherHistory extends AbstractHistory<Teacher> {}
具有通用类型的存储库:
// repositories
public interface IHistoryRepository<T> extends CrudRepository<AbstractHistory<T>, Long> {
public AbstractHistory<T> findFirst();
}
public interface StudentHistoryRepository extends IHistoryRepository<Student> {}
public interface TeacherHistoryRepository extends IHistoryRepository<Teacher> {}
我虽然可以这样做:
StudentHistory stuHisto = new StudentHistoryRepository().findFirst();
但我收到此错误:
// err -> Type mismatch: cannot convert from AbstractHistory<Student> to StudentHistory
1/ 为什么我不能从我的 'StudentHistoryRepository' 中检索一个 'StudentHistory' ?
2/ 我应该如何处理?
至尊宝的传说
相关分类