我正在使用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]
答案 0 :(得分:1)
建议使用单独的Dao for CsFinal,因为当您使用存储库类查找全部或保存时,将根据Person JpaRepository<Person, String>
的主键列完成保存。因此,如果您想利用保存功能,理想情况下您需要为每个实体类寻找一个单独的存储库。