Я использую MyBatis с базой данных h2 для учебных целей.У меня проблема, когда я хочу вставить дочерний объект в родительский объект в запросе, тогда я получил исключение.
Студенческий класс
public class Student {
private Long id;
private String name;
private Index index;
public Student(Long id, String name, Index index) {
this.id = id;
this.name = name;
this.index = index;
}
// getters and setters..
}
Индексный класс
public class Index {
private Long id;
private String number;
public Index() { }
public Index(Long id, String number) {
this.id = id;
this.number = number;
}
// getters and setters..
}
Репозиторий студентов
@Mapper
@Repository
public interface StudentRepo {
@Select("SELECT * FROM student WHERE id=#{id}")
Student findById(long id);
// exception occurs for index field, which is my child object
@Insert("INSERT INTO student VALUES(#{id}, #{name}, #{index})")
int insert(Student student);
}
Индекс репозитория
@Mapper
@Repository
public interface IndexRepo {
@Select("SELECT * FROM index WHERE id =#{id}")
Index findById(long id);
@Insert("INSERT INTO index VALUES(#{id}, #{number})")
int insert(Index index);
}
Исключение
Caused by: java.lang.IllegalStateException: Type handler was null on parameter mapping for property 'index'. It was either not specified and/or could not be found for the javaType (com.example.batis.domain.Index) : jdbcType (null) combination.
``