Java 为什么要设置属性Hibernate.方言?

Java 为什么要设置属性Hibernate.方言?,java,mysql,hibernate,Java,Mysql,Hibernate,我的项目中有persistence.xml文件,在这个文件中设置了一个属性,所以我很好奇,为什么要设置它?它是干什么的 <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" /> 这样我们就可以利用特定于数据库的功能。这是对JPA的一个提示,可以利用您的数据库及其方言。JPA可以自己发现这一点,但有时最好修复方言(例如,即使在使用Oracle 11g时也要修复Oracle 10g

我的项目中有persistence.xml文件,在这个文件中设置了一个属性,所以我很好奇,为什么要设置它?它是干什么的

<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />


这样我们就可以利用特定于数据库的功能。

这是对JPA的一个提示,可以利用您的数据库及其方言。JPA可以自己发现这一点,但有时最好修复方言(例如,即使在使用Oracle 11g时也要修复Oracle 10g)。

虽然基本SQL是一种标准,但不同的数据库对标准之外的某些事物使用不同的数据类型,引用标识符的方法也不同,方言是hibernate从这些差异中抽象出来的方法——可以将其视为HQL和每个数据库的正确SQL之间的转换层