Проблема запуска приложения приложения Spring Boot: «Не удалось определить рекомендуемый jdbctype» после удаления jdbctyJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Проблема запуска приложения приложения Spring Boot: «Не удалось определить рекомендуемый jdbctype» после удаления jdbcty

Сообщение Anonymous »

Я все еще сталкиваюсь с проблемой при запуске своего приложения для Spring Boot, даже после удаления неуместной аннотации @jdbctypecode. Следующая ошибка сохраняется: < /p>
Error starting ApplicationContext. To display the condition evaluation report, re-run your application with 'debug' enabled.
2025-02-18T12:09:49.522Z ERROR 21964 --- [demoJPA] [restartedMain] o.s.boot.SpringApplication : Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Could not determine recommended JdbcType for Java type 'sn.uasz.demoJPA.entities.UE'
< /code>
Вот полный стек ошибок < /p>
2025-02-18T18:26:52.406Z WARN 23596 --- [demoJPA] [ restartedMain] org.hibernate.orm.deprecation : HHH90000025: MySQL8Dialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default)
2025-02-18T18:26:52.408Z WARN 23596 --- [demoJPA] [ restartedMain] org.hibernate.orm.deprecation : HHH90000026: MySQL8Dialect has been deprecated; use org.hibernate.dialect.MySQLDialect instead
2025-02-18T18:26:52.654Z ERROR 23596 --- [demoJPA] [ restartedMain] j.LocalContainerEntityManagerFactoryBean : Failed to initialize JPA EntityManagerFactory: Could not determine recommended JdbcType for Java type 'sn.uasz.demoJPA.entities.UE'
2025-02-18T18:26:52.655Z WARN 23596 --- [demoJPA] [ restartedMain] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Could not determine recommended JdbcType for Java type 'sn.uasz.demoJPA.entities.UE'
2025-02-18T18:26:52.657Z INFO 23596 --- [demoJPA] [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
2025-02-18T18:26:52.678Z INFO 23596 --- [demoJPA] [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
2025-02-18T18:26:52.679Z INFO 23596 --- [demoJPA] [ restartedMain] o.apache.catalina.core.StandardService : Stopping service [Tomcat]
2025-02-18T18:26:52.690Z INFO 23596 --- [demoJPA] [ restartedMain] .s.b.a.l.ConditionEvaluationReportLogger :

Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2025-02-18T18:26:52.711Z ERROR 23596 --- [demoJPA] [ restartedMain] o.s.boot.SpringApplication : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Could not determine recommended JdbcType for Java type 'sn.uasz.demoJPA.entities.UE'
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1786) ~[spring-beans-6.1.4.jar:6.1.4]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) ~[spring-beans-6.1.4.jar:6.1.4]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) ~[spring-beans-6.1.4.jar:6.1.4]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) ~[spring-beans-6.1.4.jar:6.1.4]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.1.4.jar:6.1.4]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) ~[spring-beans-6.1.4.jar:6.1.4]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-6.1.4.jar:6.1.4]
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1231) ~[spring-context-6.1.4.jar:6.1.4]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:949) ~[spring-context-6.1.4.jar:6.1.4]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) ~[spring-context-6.1.4.jar:6.1.4]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.2.3.jar:3.2.3]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[spring-boot-3.2.3.jar:3.2.3]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) ~[spring-boot-3.2.3.jar:3.2.3]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) ~[spring-boot-3.2.3.jar:3.2.3]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) ~[spring-boot-3.2.3.jar:3.2.3]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) ~[spring-boot-3.2.3.jar:3.2.3]
at sn.uasz.demoJPA.DemoJpaApplication.main(DemoJpaApplication.java:32) ~[classes/:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) ~[spring-boot-devtools-3.2.3.jar:3.2.3]
Caused by: org.hibernate.type.descriptor.java.spi.JdbcTypeRecommendationException: Could not determine recommended JdbcType for Java type 'sn.uasz.demoJPA.entities.UE'
at org.hibernate.type.descriptor.java.spi.UnknownBasicJavaType.getRecommendedJdbcType(UnknownBasicJavaType.java:37) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final]
at org.hibernate.boot.model.process.internal.InferredBasicValueResolver.from(InferredBasicValueResolver.java:195) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final]
at org.hibernate.mapping.BasicValue.resolution(BasicValue.java:642) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final]
at org.hibernate.mapping.BasicValue.buildResolution(BasicValue.java:493) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final]
at org.hibernate.mapping.BasicValue.resolve(BasicValue.java:345) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final]
at org.hibernate.mapping.BasicValue.resolve(BasicValue.java:335) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final]
at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.lambda$processValueResolvers$4(InFlightMetadataCollectorImpl.java:1800) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final]
at java.base/java.util.ArrayList.removeIf(ArrayList.java:1682) ~[na:na]
at java.base/java.util.ArrayList.removeIf(ArrayList.java:1660) ~[na:na]
at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.processValueResolvers(InFlightMetadataCollectorImpl.java:1799) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final]
at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.processSecondPasses(InFlightMetadataCollectorImpl.java:1785) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final]
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:332) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final]
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1432) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final]
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1503) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final]
at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75) ~[spring-orm-6.1.4.jar:6.1.4]
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:388) ~[spring-orm-6.1.4.jar:6.1.4]
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) ~[spring-orm-6.1.4.jar:6.1.4]
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) ~[spring-orm-6.1.4.jar:6.1.4]
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:364) ~[spring-orm-6.1.4.jar:6.1.4]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1833) ~[spring-beans-6.1.4.jar:6.1.4]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) ~[spring-beans-6.1.4.jar:6.1.4]
... 21 common frames omitted
< /code>
Контекст
Я разрабатываю приложение Spring Boot с использованием JPA и Hibernate. Ошибка возникает, когда приложение пытается создать фасоль EntityManagerFactory. Похоже, что Hibernate не может определить правильный тип JDBC для объекта UE, даже после удаления аннотации @JDBCTYPECODE (который ранее был неправильно помещен на отношения Maquette). < /P>
Вот мои Соответствующие классы сущностей и конфигурации:
ue Entity < /p>
package sn.uasz.demoJPA.entities;
import jakarta.persistence.*;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.*;
import java.util.ArrayList;
import java.util.List;

@Entity
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Setter
@ToString
@Table(name = "ue")
public class UE {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

@NotEmpty
@Size(min = 4, max = 50)
private String code;

@NotEmpty
@Size(min = 4, max = 50)
private String libelle;

@NotNull
private int credit;

@NotNull
private int coef;

@NotNull
private int cm;

@NotNull
private int td;

@NotNull
private int tp;

@ManyToOne
@JoinColumn(name = "maqUe")
private Maquette maqUe;

@OneToMany(mappedBy = "ueEc", fetch = FetchType.EAGER)
private List ecs = new ArrayList();
}
< /code>
ec Entity < /p>
package sn.uasz.demoJPA.entities;
import jakarta.persistence.*;
import lombok.*;

@Entity
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Setter
@ToString
public class EC {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

private String code;
private String libelle;
private int credits;
private int coef;
private int cm;
private int td;
private int tp;
private int tpe;
private String semestre;

@ManyToOne
@JoinColumn(name = "ueEc")
private UE ueEc;

}
< /code>
maquette entity < /p>
package sn.uasz.demoJPA.entities;
import jakarta.persistence.*;
import lombok.*;
import java.util.List;

@Entity
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Setter
public class Maquette {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

private String nom; // Ex: "Maquette Licence 1 Informatique"
private String niveau; // L1, L2, L3, M1, M2
private String mention; // Ex: Informatique, Géographie, Mathématiques
private String parcours; // Ex: Science des données, Développement logiciel
private String anneeUniversitaire; // Ex: "2024-2025"

@OneToMany(mappedBy = "maqUe")
private List ues; // Liste des Unités d'Enseignement associées
}
< /code>
application.proporties
spring.application.name=demoJPA
server.port=9090
spring.datasource.url=jdbc:mysql://localhost:3306/GestionEnseignement?createDatabaseIfNotExist=true
spring.datasource.username=root
spring.datasource.password=
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.defer-datasource-initialization=true
spring.sql.init.mode=always
spring.mvc.format.date=dd/MM/yyyy
spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
< /code>
pom.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0


org.springframework.boot
spring-boot-starter-parent
3.2.3



sn.uasz
demoJPA
0.0.1-SNAPSHOT
demoJPA
Demo project for Spring Boot JPA


17





org.springframework.boot
spring-boot-starter-data-jpa



org.springframework.boot
spring-boot-starter-web



org.springframework.boot
spring-boot-starter-thymeleaf



org.springframework.boot
spring-boot-starter-security



org.springframework.boot
spring-boot-starter-validation




com.mysql
mysql-connector-j
8.2.0
runtime




org.springframework.boot
spring-boot-starter-json




org.projectlombok
lombok
provided




org.thymeleaf.extras
thymeleaf-extras-springsecurity6
3.1.3.RELEASE




org.springframework.boot
spring-boot-devtools
runtime
true




org.webjars.npm
bootstrap
5.3.3



org.webjars.npm
bootstrap-icons
1.11.3



org.webjars
jquery
3.7.1




org.springframework.boot
spring-boot-starter-test
test







org.apache.maven.plugins
maven-compiler-plugin
3.8.1

17
17





org.springframework.boot
spring-boot-maven-plugin




< /code>
То, что я пробовал: я удалил аннотацию Jdbctypecode из отношений Maaquette в объекте UE. Я проверил конфигурацию своей базы данных в Application.properties. Я гарантировал, что все зависимости правильно включены в мой файл pom.xml. Вопрос: Что может вызвать эту ошибку «не удалось определить рекомендованную ошибку jdbctype», даже после удаления неуместной аннотации Jdbctypecode? Есть ли другие потенциальные проблемы конфигурации или аннотации, на которые я должен смотреть в своих сущностях?


Подробнее здесь: https://stackoverflow.com/questions/794 ... d-jdbctype
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Ошибка загрузки Spring: не удалось определить рекомендуемый JdbcType для типа Java «Utilisateur».
    Anonymous » » в форуме JAVA
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • Ошибка загрузки Spring: не удалось определить рекомендуемый JdbcType для типа Java «Utilisateur».
    Anonymous » » в форуме JAVA
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Ошибка загрузки Spring: не удалось определить рекомендуемый JdbcType для типа Java «Utilisateur».
    Anonymous » » в форуме JAVA
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Не удалось определить рекомендованный jdbctype для
    Anonymous » » в форуме JAVA
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • В чем разница между @JdbcTypeCode и @JdbcType в Hibernate 6?
    Anonymous » » в форуме JAVA
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»