提供了
在3.4
首先,无论使用
子类的类全限定名。该方言对象用于针对具体的数据库生成不同的
protected Dialect resolveDialectInternal(DatabaseMetaData metaData) throws SQLException {
String databaseName = metaData.getDatabaseProductName();
if ( "MySQL".equals( databaseName ) ) {
return new MySQLDialect();
}
//..其他省略
}
如果没有设置方言,
2) hibernate.show_sql
允许设置值为
比如,把
<log4j:configuration>
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="conversionPattern" value="%r [%t] %p %c %x - %m%n"/>
</layout>
</appender>
<logger name="org.hibernate.SQL">
<level value="DEBUG"></level>
<appender-ref ref="console"/>
</logger>
<root>
<level value="ERROR" />
</root>
</log4j:configuration>
再次运行,就可以看到同样输出
允许设置值为
允许设置在
那么生成的
insert
into
hibernate.USER
(name, age, borndate, married)
values
(?, ?, ?, ?)
//----------------------------------------------------------------
select
user0_.id as id1_0_,
user0_.name as name2_0_,
user0_.age as age3_0_,
user0_.borndate as borndate4_0_,
user0_.married as married5_0_
from
hibernate.USER user0_
where
user0_.married=?
当然,在映射文件中,也可以通过为
<class name="User" table="USER" schema="scott">
<id name="id" access="field">
<generator class="native" />
</id>
<property name="name" column="name" />
<property name="age">
<column name="age" default="25" check="age > 10 and age < 100" />
</property>
<property name="bornDate" column="borndate"/>
<property name="married" column="married" type="yes_no"/>
</class>
那么生成的
insert
into
scott.USER
(name, age, borndate, married)
values
(?, ?, ?, ?)
允许设置在
那么生成的
insert
into
orcl.hibernate.USER //注意前面是catalog,后面才是schema
(name, age, borndate, married)
values
(?, ?, ?, ?)
当然,在映射文件中也可以单独设置
<class name="User" table="USER" catalog="orcl">