class ChartOfAccountJdbcRepository extends JdbcRepository {

    public ChartOfAccountEntity findById(ChartOfAccountEntity entity) {
        List<String> list = allIdentitiferFields.get(entity.getClass().getSimpleName());

        Map<String, Object> paramValues = new HashMap<>();

        for (String s : list) {
            paramValues.put(s, getValue(getField(entity, s), entity));
        }

        List<ChartOfAccountEntity> chartofaccounts = namedParameterJdbcTemplate.query(
                getByIdQuery.get(entity.getClass().getSimpleName()).toString(), paramValues,
                new BeanPropertyRowMapper(ChartOfAccountEntity.class));
        if (chartofaccounts.isEmpty()) {
            return null;
        } else {
            return chartofaccounts.get(0);
        }

    }

    public  ChartOfAccountJdbcRepository(NamedParameterJdbcTemplate namedParameterJdbcTemplate,
            ChartOfAccountDetailJdbcRepository chartOfAccountDetailJdbcRepository);

}