java - none - ¿Cómo hacer que hbm2ddl schemaExport registre el esquema en stdout?
hibernate hibernate hbm2ddl auto production (3)
Active el registro de la categoría org.hibernate.tool.hbm2ddl
.
Actualización: Aquí hay un logback.xml
simplificado (estoy usando logback como backend de inicio de sesión):
<configuration scan="true">
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
</layout>
</appender>
<!-- ### log just the SQL ### -->
<logger name="org.hibernate.SQL" level="DEBUG"/>
<!-- ### log JDBC bind parameters ### -->
<logger name="org.hibernate.type" level="TRACE"/>
<logger name="org.hibernate.tool.hbm2ddl" level="DEBUG"/>
<root level="ERROR">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
Adáptelo si está usando log4j (aquí encontrará la configuración que funciona en SO).
Una cita de persistence.xml
:
<persistence-unit name="test" transaction-type="RESOURCE_LOCAL">
<properties>
<property name="hibernate.archive.autodetection" value="class" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.format_sql" value="true" />
<property name="hibernate.hbm2ddl.auto" value="create" />
...
</properties>
</persistence-unit>
Esto es lo que veo en la salida de registro:
Sep 30, 2010 12:03:43 PM org.hibernate.tool.hbm2ddl.SchemaExport execute
INFO: Running hbm2ddl schema export
Sep 30, 2010 12:03:43 PM org.hibernate.tool.hbm2ddl.SchemaExport execute
INFO: exporting generated schema to database
Sep 30, 2010 12:03:43 PM org.hibernate.tool.hbm2ddl.SchemaExport execute
INFO: schema export complete
Pero no veo el esquema (SQL) exportado. ¿Cómo obtener esta información de Hibernate (3.5.6-Final)?
En caso de que te tropieces con esto con Spring Boot . Puede configurar lo siguiente en su application.yml
:
spring.jpa:
hibernate.ddl-auto: create-drop
logging.level:
org.hibernate.tool.hbm2ddl: DEBUG
org.hibernate.SQL: DEBUG
org.hibernate.type: TRACE
Aquí hay una configuración simplificada de log4j.xml
.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration>
<appender name="CA" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-4r [%t] %-5p %c %x - %m%n"/>
</layout>
</appender>
<!-- ### log just the SQL ### -->
<logger name="org.hibernate.SQL">
<level value="DEBUG" />
</logger>
<!-- ### log JDBC bind parameters ### -->
<logger name="org.hibernate.type">
<level value="TRACE" />
</logger>
<!-- ### log Hibernate model to schema tool ### -->
<logger name="org.hibernate.tool.hbm2ddl">
<level value="DEBUG" />
</logger>
<root>
<level value="WARN"/>
<appender-ref ref="CA"/>
</root>
</log4j:configuration>