Dúvida sobre Formulário jsp com input type="checkbox"

Estou tratando um formulário via jsp com mysql mas estou tendo problemas com valores do campo checkbox:

no Form eu tenho isso:

<input id="dom" name="dom" class="element checkbox" type="checkbox" <% out.print(" "+ (dom.equals("on")?"checked":" " ) ); %>  />
                                        <label class="choice" for="dom">Domingo</label>

a parte do (dom.equals("on")?"checked":" " ) funciona muito bem, contudo, quando vou gravar o banco de dados…

o campo a ser gravado é tinyint(1) e se eu faço a edicao via console mysql ou usando delphi, funciona, mas via jsp, é um pesadelo, o resultado sempre é false.

String sql="update grupo set HoraLigar=?, HoraDesligar=?, "+
           "Domingo=?,Segunda=?,Terca=?,Quarta=?,Quinta=?,Sexta=?,Sabado=?"+
           " where id_grupo=? ";                                               
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, hlig);
stmt.setString(2, hdes);
stmt.setBoolean(3, Boolean.parseBoolean(dom));                                                     stmt.setBoolean(4,!dom.isEmpty() );

Estou empacado nisso… Alguém tem alguma dica?

Ao invés de boolean, tenta setByte: https://www.tutorialspoint.com/jdbc/jdbc-data-types.htm

Obrigado pela dica, é bem interessante, irei usar essa ideia e trocar o tipo para gravar o registro.