我的应用程序中使用了多个数据库,redshift 就是其中之一。由于使用休眠框架来配置连接,我尝试使用适当的方言进行红移。但是 PostgreSQL9Dialect 和 MySQL5InnoDBDialect 都为我工作。
想知道哪种方言最适合 Redshift? 另外,我还有以下问题。
使用 hibernate 时是否必须使用方言?
如果没有提及,默认方言是什么?
由于
Redshift
基于PostgreSQL 8.0.2(参见this),所以最好使用PostgreSQL方言。由于它与 PostgreSQL 之间存在一些差异,因此它在某些情况下不起作用并不奇怪,但您可以尝试一下。
方言对于 hibernate 是强制性的。如果您没有指定 dialect ,它会根据从 JDBC 驱动程序获取的元数据尝试选择最适合您的 dialect 。如果无法选择方言,则会抛出异常,表示
Unable to determine Dialect to use
.
这能解决您的疑问吗? 如果可以请详细说明