Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Membetulkan \'org.hibernate.HibernateException: Akses kepada DialectResolutionInfo tidak boleh batal apabila \'hibernate.dialect\' tidak ditetapkan\'?

Linda Hamilton
Lepaskan: 2024-11-25 08:03:11
asal
269 orang telah melayarinya

How to Fix

Bagaimana untuk menyelesaikan "org.hibernate.HibernateException: Akses kepada DialectResolutionInfo tidak boleh batal apabila 'hibernate.dialect' tidak ditetapkan"?

Mesej ralat "org.hibernate.HibernateException: Akses kepada DialectResolutionInfo tidak boleh batal apabila 'hibernate.dialect' not set" berlaku apabila Hibernate tidak dapat menentukan dialek pangkalan data. Ini biasanya disebabkan oleh ketiadaan sifat hibernate.dialect dalam konfigurasi Hibernate. Begini cara untuk menyelesaikan isu ini:

1. Alih keluar Konfigurasi Hibernate Tersuai:

Pastikan anda tidak mentakrifkan sebarang konfigurasi Hibernate tersuai dalam aplikasi anda, kerana Spring Boot menyediakan konfigurasi automatik untuk Hibernate. Alih keluar kelas @Configuration (HibernateConfig dalam contoh anda) yang mentakrifkan kacang sessionFactory(), kerana Spring Boot akan mencipta kacang yang diperlukan untuk anda.

2. Tambah Sifat Pangkalan Data:

Dalam fail application.properties anda, masukkan sifat berikut untuk menentukan butiran pangkalan data anda dan konfigurasi Hibernate:

spring.datasource.url=jdbc:postgresql://localhost:5432/teste?charSet=LATIN1
spring.datasource.username=klebermo
spring.datasource.password=123

spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.show-sql=false
spring.jpa.hibernate.ddl-auto=create
Salin selepas log masuk

3. Alih keluar Kebergantungan commons-dbcp:

Spring Boot menggunakan kebergantungan HikariCP yang lebih cekap secara lalai. Alih keluar kebergantungan commons-dbcp daripada fail pom.xml anda untuk membenarkan Spring Boot mengurus pengumpulan sambungan pangkalan data.

4. Kemas kini Versi Spring Boot (Pilihan):

Jika anda menggunakan versi Spring Boot yang lebih lama, tingkatkan kepada yang lebih terbaharu untuk memanfaatkan peningkatan terkini. Spring Boot 2.x menyokong kacang SessionFactory sebagai lanjutan daripada EntityManagerFactory. Anda boleh mendapatkan SessionFactory dengan menghantar EntityManagerFactory atau menggunakan kaedah buka bungkus.

5. Gunakan @SpringBootApplication:

Daripada menggunakan berbilang anotasi (@Configuration, @EnableAutoConfiguration dan @ComponentScan), anda boleh menggunakan satu anotasi @SpringBootApplication dalam versi Spring Boot yang lebih terkini. Anotasi ini menggabungkan kefungsian ketiga-tiga anotasi.

Berikut ialah contoh kelas aplikasi yang dikemas kini:

@SpringBootApplication
@ComponentScan("com.spring.app")
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan \'org.hibernate.HibernateException: Akses kepada DialectResolutionInfo tidak boleh batal apabila \'hibernate.dialect\' tidak ditetapkan\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan