O Problema
Meu banco de dados não possiu suporte ao tipo de dado boolean, sendo assim, tenho que contornar o problema usando um CHAR(1). Quando fiz a engenharia reversa para o Hibernate ele definiu meu atributo como Character e nessa jogada eu queria usar um checkbox na minha visão para setar o valor do atributo como true/false. Meu código original era assim:
private Character prjPago; @Column(name = "Prj_pago") public Character getPrjPago() { return this.prjPago; }
A Solução
A solução foi alterar o tipo de dado do seu atributo para boolean e no mapeamento do Hibernate definir o tipo de dado como sendo YesNoType veja como ficou:
private Boolean prjPago; @Column(name = "Prj_pago") @Type(type = "org.hibernate.type.YesNoType") public Boolean getPrjPago() { return this.prjPago; }
E na minha camada de apresentação ficou algo parecido com isso aqui:
<h:selectBooleanCheckbox id="prjPago" value="#{projetoHome.instance.prjPago}" />
Referências
http://www.seamframework.org/16450.lace
http://forum.hibernate.org/viewtopic.php?p=2212819&sid=db8f69cc8753ebe4b8f40c2633367e85
Antes mesmo de ler o artigo, vou deixar um comentário: Como dou esse golpe (Checkbox Seam Character Hybernate YesNoType)? É meia-lua pra frente + chute? Ele é parecido com o roriuken e ratataruken?!
Muito boa sua dica, estes dias passei um tempinho para descobrir que o Hibernate tinha este tipo: @Type(type = “org.hibernate.type.YesNoType”).
Parabéns pelo seu blog, muito organizado!
See you!