Исключение, возникшее во время инициализации контекста: при настройке компонента HibernateTemplate с использованием конфJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Исключение, возникшее во время инициализации контекста: при настройке компонента HibernateTemplate с использованием конф

Сообщение Гость »


Не удалось настроить исключение инициализации контекста получения спящего режима. Пробовали альтернативные версии зависимости Hibernate, и хотя таблица создается в БД, я думаю, что существует некоторая проблема, связанная с Bean.
Студент

Код: Выделить всё

package com.spring.orm.Entity;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;

@Entity
@Table(name = "student")
public class Student {

@Id
@Column(name = "student_id")
private long studentId;
@Column(name = "student_name")
private String studentName;
@Column(name = "student_city")
private String studentCity;

public long getStudentId() {
return studentId;
}
public void setStudentId(long studentId) {
this.studentId = studentId;
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public String getStudentCity() {
return studentCity;
}
public void setStudentCity(String studentCity) {
this.studentCity = studentCity;
}
public Student() {
}
public Student(long studentId, String studentName, String studentCity) {
this.studentId = studentId;
this.studentName = studentName;
this.studentCity = studentCity;
}

}
Student Dao

Код: Выделить всё

package com.spring.orm.Dao;

import com.spring.orm.Entity.Student;

public interface StudentDao {

public Student insert(Student student);

}
Student Dao Impl

Код: Выделить всё

package com.spring.orm.Dao.Impl;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateTemplate;

import com.spring.orm.Dao.StudentDao;
import com.spring.orm.Entity.Student;

public class StudentDaoImpl implements StudentDao{

@Autowired
private HibernateTemplate hibernateTemplate;

@Override
public Student insert(Student student) {
Student st = (Student) hibernateTemplate.save(student);
return st;
}

}
Hibernate Configurations

Код: Выделить всё

package com.spring.orm.Config;

import java.io.IOException;
import java.util.Properties;

import javax.sql.DataSource;

import org.hibernate.SessionFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.orm.hibernate5.HibernateTemplate;
import org.springframework.orm.hibernate5.HibernateTransactionManager;
import org.springframework.orm.hibernate5.LocalSessionFactoryBean;
import org.springframework.transaction.annotation.EnableTransactionManagement;

import com.spring.orm.Dao.Impl.StudentDaoImpl;
import com.spring.orm.Entity.Student;

@Configuration
@EnableTransactionManagement
public class HibernateConfig {

@Bean
public Properties getHibernateProperties(){
Properties properties = new Properties();
properties.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL8Dialect");
properties.setProperty("hibernate.show_sql", "true");
properties.setProperty("hibernate.hbm2ddl.auto",  "update");
System.out.println("Настроенные свойства Hibernate");
возвращаемые свойства;

@Bean
public DriverManagerDataSource getDataSource(){
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
dataSource.setUrl("jdbc:mysql: //localhost:3306/springjdbc");
dataSource.setUsername("root");
dataSource.setPassword("qwsx##HG##123");
System.out. println("Настроенный источник данных");
return dataSource;

@Bean
public LocalSessionFactoryBean getSessionFactory(){
LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean( );
sessionFactory.setDataSource(getDataSource());
sessionFactory.setHibernateProperties(getHibernateProperties());
sessionFactory.setPackagesToScan("com.spring.orm.Entity");
> System.out.println("Настроенная фабрика сеансов");
return sessionFactory;

@Bean(name = "hibernateTemplate")
public HibernateTemplate getHibernateTemplate (){
HibernateTemplate hibernateTemplateObj = new HibernateTemplate();
hibernateTemplateObj.setSessionFactory(getSessionFactory().getObject());
return hibernateTemplateObj;

@Bean
public HibernateTransactionManager transactionManager() {
HibernateTransactionManager transactionManager = new HibernateTransactionManager();
transactionManager.setSessionFactory(getSessionFactory().getObject());
return transactionManager;

@Bean(name = "studentImpl")
public StudentDaoImpl getStudentDao(){
StudentDaoImpl StudentDaoImpl = new StudentDaoImpl();
return StudentDaoImpl ;
}

}
App.java

Код: Выделить всё

package com.spring.orm;

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

import com.spring.orm.Config.HibernateConfig;
import com.spring.orm.Dao.StudentDao;
import com.spring.orm.Entity.Student;

/\*\*

* Hello world!
*

\*/
public class App
{
public static void main( String\[\] args )
{
System.out.println( "Application started!" );

ApplicationContext context = new AnnotationConfigApplicationContext(HibernateConfig.class);
StudentDao stDaoObj = context.getBean("studentImpl", StudentDao.class);

Student st = new Student();

st.setStudentId(44);
st.setStudentName("Harshit Gupta");
st.setStudentCity("Karera");

stDaoObj.insert(st);
}

}
Pom.xml

Код: Выделить всё

4.0.0

com.spring.orm
springorm
1.0-SNAPSHOT
jar

springorm 
http://maven.apache.org


UTF-8< /project.build.sourceEncoding>




org.springframework
spring-core
6.1.3




org.springframework
spring-context
6.1.3




org.springframework
spring-orm
6.1.3< /version>


< br /> 
org.hibernate.orm
hibernate-core
6.1.7.Final



org.apache.tomcat
tomcat-dbcp
9.0.80




com.mysql
mysql-connector-j
8.3.0


junit
 junit
3.8.1
test



Исключение

Код: Выделить всё

    Application started! Configured Hibernate properties Configured datasource Configured session factory Mar 10, 2024 9:04:26 AM org.hibernate.Version logVersion INFO: HHH000412: Hibernate ORM core version 6.1.5.Final Mar 10, 2024 9:04:27 AM org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl logSelectedDialect INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect Mar 10, 2024 9:04:27 AM org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl logSelectedDialect WARN: HHH90000026: MySQL8Dialect has been deprecated; use org.hibernate.dialect.MySQLDialect instead Mar 10, 2024 9:04:27 AM org.hibernate.engine.transaction.jta.platform.internal.JtaPlatformInitiator initiateService INFO: HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] Mar 10, 2024 9:04:27 AM org.springframework.context.support.AbstractApplicationContext refresh WARNING: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateTemplate' defined in com.spring.orm.Config.HibernateConfig: Failed to instantiate [org.springframework.orm.hibernate5.HibernateTemplate]: Factory method 'getHibernateTemplate' threw exception with message: org/hibernate/criterion/Criterion Exception in thread "main"  org.springframework.beans.factory.BeanCreationException: ошибка при создании bean-компонента с именем «hibernateTemplate», определенным в com.spring.orm.Config.HibernateConfig: не удалось создать экземпляр [org.springframework.orm.hibernate5.HibernateTemplate]: фабричный метод «getHibernateTemplate» выдал исключение с сообщением: org/hibernate/criterion/Criterion
в org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:651)
в org.springframework.beans.factory. support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:485)
в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334)
в org.springframework.beans. завод. support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1164)
на org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:561)
на org.springframework.beans.factor й. support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521)
на org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325)
на org.springframework.beans .factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
на org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323)
на org.springframework.beans .factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
в org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:975)
в org.springframework.context .support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:959)
в org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624)
в org.springframework.context.annotation.AnnotationConfigApplicationContext .(AnnotationConfigApplicationContext.java:93)
в com.spring.orm.App.main(App.java:20)
Вызвано: org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр [org.springframework.orm.hibernate5.HibernateTemplate]:
Фабричный метод getHibernateTemplate выдал исключение с сообщением: org/hibernate/criterion/Criterion
в org.springframework.beans.factory.support.SimpleInstantiationStrategy. экземпляр(SimpleInstantiationStrategy.java:177)
в org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:647)
... еще 14 Вызвано: java.lang.NoClassDefFoundError : org/hibernate/criterion/Criterion
на com.spring.orm.Config.HibernateConfig.getHibernateTemplate(HibernateConfig.java:57)
на com.spring.orm.Config.HibernateConfig$$SpringCGLIB$$0 .CGLIB$getHibernateTemplate$3()
в com.spring.orm.Config.HibernateConfig$$SpringCGLIB$$FastClass$$1.invoke()
в org.springframework.cglib. proxy.MethodProxy.invokeSuper(MethodProxy.java:258)
в org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331)
в com.spring.orm.Config. HibernateConfig$$SpringCGLIB$$0.getHibernateTemplate()
в java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
в java.base/java.lang .reflect.Method.invoke(Method.java:580)
в org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:140)
... еще 15 Причина: java.lang.ClassNotFoundException: org.hibernate.criterion.Criterion
в java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
в java.base/jdk.internal .loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
на java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) ... еще 24

Невозможно настроить шаблон спящего режима


Источник: https://stackoverflow.com/questions/781 ... g-a-hibern
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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