2013-05-09 5 views
1

Я новичок в Hibernate. Во время чтения Hibernate я наткнулся на свойство Dialect. Какую бы базу данных мы не использовали в нашем приложении, нам нужно установить диалект, связанный с этой базой данных, а Hibernate создаст соответствующий запрос, относящийся к этой базе данных.Не указывать диалект Спящий режим

Просто хотите узнать, требуется ли это обязательное свойство? Если это не указано в файле hibernate.cfg.xml, то как Hibernate сгенерирует SQL-запросы, т. Е. Какой SQL-запрос, совместимый с базой данных, будет сгенерирован?

ответ

1

Нет, это не обязательно в соответствии с документацией http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/session-configuration.html#configuration-optional-dialects , я не пробовал с тем же. Хотя ваш ответ других указывает, я также хотел бы получить ответ от некоторых хороших опытных здесь. :)

+0

Тогда что будет говором по умолчанию? Может ли hibernate обнаруживать базу данных, используемую с использованием свойства connection.driver_class? –

+0

см. Ответ Мартина Андерсона в этом вопросе: http://stackoverflow.com/questions/21012799/why-do-i-need-to-configure-the-sql-dialect-of-a-data-source –

0

Я думаю, что это не является обязательным, но это хорошая практика, чтобы установить его в вашем hibernate.cfg.xml как

<property name="dialect">your dialect</property> 

Возможных значений:

DB2     org.hibernate.dialect.DB2Dialect 
DB2 AS/400    org.hibernate.dialect.DB2400Dialect 
DB2 OS390    org.hibernate.dialect.DB2390Dialect 
PostgreSQL    org.hibernate.dialect.PostgreSQLDialect 
MySQL    org.hibernate.dialect.MySQLDialect 
MySQL with InnoDB  org.hibernate.dialect.MySQLInnoDBDialect 
MySQL with MyISAM  org.hibernate.dialect.MySQLMyISAMDialect 
Oracle (any version) org.hibernate.dialect.OracleDialect 
Oracle 9i    org.hibernate.dialect.Oracle9iDialect 
Oracle 10g    org.hibernate.dialect.Oracle10gDialect 
Sybase    org.hibernate.dialect.SybaseDialect 
Sybase Anywhere org.hibernate.dialect.SybaseAnywhereDialect 
Microsoft SQL Server org.hibernate.dialect.SQLServerDialect 
SAP DB    org.hibernate.dialect.SAPDBDialect 
Informix    org.hibernate.dialect.InformixDialect 
HypersonicSQL  org.hibernate.dialect.HSQLDialect 
Ingres    org.hibernate.dialect.IngresDialect 
Progress    org.hibernate.dialect.ProgressDialect 
Mckoi SQL    org.hibernate.dialect.MckoiDialect 
Interbase    org.hibernate.dialect.InterbaseDialect 
Pointbase    org.hibernate.dialect.PointbaseDialect 
FrontBase    org.hibernate.dialect.FrontbaseDialect 
Firebird    org.hibernate.dialect.FirebirdDialect 
Смежные вопросы