Я немного смущен тем, когда мне нужно использовать средство отображения объектов. Я подумал, что его следует использовать для сопоставления набора результатов из запроса БД с объектами, поэтому я создал средство сопоставления объектов следующим образом:
public class PersonMapper implements ResultSetMapper<Person>
{
public Person map(int index, ResultSet resultSet, StatementContext ctx) throws SQLException
{
Person person = new Person();
person.setPersonId(resultSet.getShort("PersonId"));
person.setPersonType((PersonType) resultSet.getObject("PersonType"));
person.setPersonName(resultSet.getString("PersonName"));
person.setPersonMobile(resultSet.getString("PersonMobile"));
return person;
}
}
Затем я зарегистрировал его в конкретном DAO следующим образом: @RegisterMapper(PersonMapper.class)
Однако, кажется, что все работает и без маппера, даже если я делаю такой запрос: List<Person> list = list(namedQuery("Person.findAll"));
, который возвращает правильный список.
Итак, когда именно я должен использовать картограф?