Para debuggar este problema eu gostaria de ver a saída sql do hibernate, ou ainda, quais comandos e parâmetros que o hibernate invoca do jdbc.
Fazendo isso, eu sou capaz de reproduzir os comandos do hibernate e constatar as inconsistências manualmente.
não resolve setar o parametro show_sql do hibernate para true??
assim ele imprime na tela todos os sqls gerados
Paulo_Silveira
“urubatan”:
não resolve setar o parametro show_sql do hibernate para true??
deve bastar
soh que ele soh imprime os PreparedStatements
rodrigousp
Muito grato a todos. Realmente show_sql bastava.
Agora que eu descobri que sou uma anta (eu que uma string maior que a definição da tabela), gostaria de saber como validar um pojo baseado no atributos do mapping.xml do hibernate.
Mais uma vez obrigado,
A anta
Paulo_Silveira
rodrigo, quando voce faz o Configuration.addClass(Class) ele faz essa verificacao. da MappingException se a classe nao estiver de acordo com o hbm.xml. era isso?
rodrigousp
Não quero validar a classe. Quero validar o bean. Quero validar o objeto… os valores contidos nele.
Para isso eu vou utilizar o validator do common do jakarta, que foi a única solução que encontrei.
Então eu crie um xslt que transforma o mapping do hibernate, num validation.xml do validator.
<?xmlversion="1.0"encoding="UTF-8"?><!--Document: Mapping2Validator.xslCreatedon: 29 de Outubro de 2003, 13:54Author: Rodrigo di Lorenzo LopesDescription:Transformaomappingdohibernateparavalidation.xmldojakartacommons.--><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:output method="xml" indent="yes" doctype-public="http://jakarta.apache.org/commons/dtds/validator_1_0.dtd"/><xsl:template match="/"><form-validation><xsl:apply-templates select="//class"/></form-validation></xsl:template><xsl:template match="//class"><formset><form><xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute><xsl:apply-templates select="./composite-id"/><xsl:apply-templates select="./id"/><xsl:apply-templates select="./property"/></form></formset></xsl:template><xsl:template match="//id"><xsl:call-template name="field"/></xsl:template><xsl:template match="//composite-id"><xsl:call-template name="field"/></xsl:template><xsl:template match="//property"><xsl:call-template name="field"/> </xsl:template><xsl:template name="field"><field><xsl:attribute name="property"><xsl:value-of select="@name"/></xsl:attribute><xsl:attribute name="depends">maxlength<xsl:if test="@type = 'java.sql.Date'">,isDate</xsl:if><xsl:if test="@type = 'int'">,isInt</xsl:if><xsl:if test="@name = 'email'">,isEmail</xsl:if></xsl:attribute><var><var-name>maxlength</var-name><var-value><xsl:value-of select="@length"/></var-value></var></field></xsl:template></xsl:stylesheet>
O que vocês acham ?
cv1
Eu nao uso o Validator da Jakarta - o XWork tem um validator proprio ja - mas a ideia de usar um XSLT foi duca! Vou tentar aproveitar ela aqui