Rumah > Java > javaTutorial > Bagaimana untuk Menyelesaikan \'hibernate.dialect\' Hibernate Tidak Tetapkan Ralat dalam But Spring?

Bagaimana untuk Menyelesaikan \'hibernate.dialect\' Hibernate Tidak Tetapkan Ralat dalam But Spring?

Susan Sarandon
Lepaskan: 2024-11-19 00:53:02
asal
793 orang telah melayarinya

How to Resolve Hibernate's

Ralat Konfigurasi Dialek Hibernate: 'hibernate.dialect' Not Set

Isu:
Apabila menjalankan Aplikasi Spring Boot menggunakan Hibernate, ralat ditemui menyatakan:

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

Punca:
Konfigurasi Hibernate tiada sifat hibernate.dialect, yang menentukan dialek pangkalan data untuk digunakan. Tanpa sifat ini, Hibernate tidak dapat menentukan dialek yang betul dan mewujudkan sambungan pangkalan data.

Penyelesaian:

1. Aplikasi Spring Boot:

Untuk aplikasi Spring Boot, adalah disyorkan untuk menggunakan sifat aplikasi atau fail YAML untuk mengkonfigurasi Hibernate. Alih keluar kelas konfigurasi Hibernate tersuai (cth., HibernateConfig) dan tambahkan sifat berikut pada fail application.properties atau application.yml anda:

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

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

Spring Boot akan mengkonfigurasi SessionFactory secara automatik menggunakan sifat ini.

2. Konfigurasi Java:

Jika anda lebih suka menggunakan konfigurasi Java, alih keluar kaedah hibernateProperties() daripada kelas HibernateConfig anda dan tambahkan kod berikut:

@Bean
public HibernateJpaSessionFactoryBean sessionFactory(EntityManagerFactory emf) {
    HibernateJpaSessionFactoryBean factory = new HibernateJpaSessionFactoryBean();
    factory.setEntityManagerFactory(emf);
    return factory;
}
Salin selepas log masuk

Ini akan mencipta SessionFactory yang membungkus EntityManagerFactory. Anda boleh mengakses SessionFactory kemudian menggunakan entityManagerFactory.unwrap(SessionFactory.class).

Nota Tambahan:

  • Alih keluar kebergantungan commons-dbcp daripada pom anda. fail xml. Spring Boot akan mengkonfigurasi kumpulan sambungan HikariCP yang lebih cekap secara automatik.
  • Pertimbangkan menggunakan anotasi @SpringBootApplication untuk mendayakan ciri Spring Boot secara automatik, termasuk pengurusan transaksi dan konfigurasi untuk Hibernate.

Dengan mengikuti langkah ini, anda boleh menyelesaikan ralat konfigurasi dialek dan berjaya mewujudkan sambungan pangkalan data menggunakan Hibernate dalam aplikasi Spring Boot anda.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan \'hibernate.dialect\' Hibernate Tidak Tetapkan Ralat dalam But Spring?. 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