在课堂上使用不同的课程DAO

时间:2017-12-13 15:13:24

标签: java spring hibernate dao

我正在使用Hibernate并为我的Person Entity提供数据访问对象:

public interface PersonDAO extends JpaRepository<Person, String>
{
  Person findById(String id);
  CsFinal findByCsFinal_CsStudentId(String id);
}

我知道我可以制作一个CsFinal DAO并且只需要调用findByCsStudentId,但我想知道我上面做的是否可行。这样做的原因是我不确定是否有必要使用DAO,我在整个DAO中只有一个方法。

编辑:运行当前代码时的异常:

Servlet.service() for servlet [dispatcherServlet] in context with path []
threw exception [Request processing failed; nested exception is     
org.springframework.core.convert.ConverterNotFoundException: No converter 
found capable of converting from type [Person] to type [CsFinal]] with    
root cause


org.springframework.core.convert.ConverterNotFoundException: No converter 
found capable of converting from type [Person] to type [CsFinal]

1 个答案:

答案 0 :(得分:1)

建议使用单独的Dao for CsFinal,因为当您使用存储库类查找全部或保存时,将根据Person JpaRepository<Person, String>的主键列完成保存。因此,如果您想利用保存功能,理想情况下您需要为每个实体类寻找一个单独的存储库。