我的项目中有persistence.xml文件,在这个文件中正在设置一个属性,所以我很好奇,为什么要设置它?它做了什么?
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
答案 0 :(得分:2)
虽然基本SQL是一种标准,但不同的数据库对标准之外的某些事物使用不同的数据类型,有不同的引用标识符的方法等。 dialect 是hibernate从这些差异中抽象出来的方法 - 将其视为HQL与每个数据库的正确SQL之间的转换层。
答案 1 :(得分:0)
这样我们就可以利用数据库特定的功能。
答案 2 :(得分:0)
这是JPA利用您的数据库及其方言的提示。 JPA可以自己找到它,但有时最好修复方言(例如,即使在使用Oracle 11g时也要修复Oracle 10g)。