Nie jest to możliwe w MyBatis (przynajmniej w wersji 3) po wyjęciu z pudełka.
MyBatis ma automatyczne mapowanie podczas odczytu danych z bazy danych, ale nie ma opcji automatycznego mapowania pól podczas wstawiania.
Powodem tego jest to, że MyBatis jest bardzo skoncentrowany na SQL, co oznacza, że musisz ręcznie pisać SQL. Możliwe jest posiadanie niejawnych pól w instrukcji SQL select (select * from table
), więc w tym przypadku jest automatyczne mapowanie do POJO, ale nie jest możliwe posiadanie niejawnych pól w aktualizacji lub wstawianiu, dlatego nie ma automatycznego mapowania.
MyBatis można rozszerzyć bez przyczyny. Na przykład możesz użyć @InsertProvider
/@UpdateProvider
z generatorem sql, który generuje sql za pomocą odbicia w celu uzyskania pól obiektów.