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

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

Сообщение Anonymous »


Не удалось настроить исключение инициализации контекста получения спящего режима. Пробовали альтернативные версии зависимости 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);
}

}
Exception

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

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: 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         at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:651)         at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:485)         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334)         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1164)         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:561)         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521)         at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325)         at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)         at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323)         at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)         at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:975)         at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:959)         at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624)         at org.springframework.context.annotation.AnnotationConfigApplicationContext.(AnnotationConfigApplicationContext.java:93)         at com.spring.orm.App.main(App.java:20) Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.orm.hibernate5.HibernateTemplate]: Factory method 'getHibernateTemplate' threw exception with message: org/hibernate/criterion/Criterion         at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:177)         at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:647)         ... 14 more Caused by: java.lang.NoClassDefFoundError: org/hibernate/criterion/Criterion         at com.spring.orm.Config.HibernateConfig.getHibernateTemplate(HibernateConfig.java:57)         at com.spring.orm.Config.HibernateConfig$$SpringCGLIB$$0.CGLIB$getHibernateTemplate$3()         at com.spring.orm.Config.HibernateConfig$$SpringCGLIB$$FastClass$$1.invoke()         at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:258)         at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331)         at com.spring.orm.Config.HibernateConfig$$SpringCGLIB$$0.getHibernateTemplate()         at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)         at java.base/java.lang.reflect.Method.invoke(Method.java:580)         at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:140)         ... 15 more Caused by: java.lang.ClassNotFoundException: org.hibernate.criterion.Criterion         at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)         at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)         at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)         ... 24 more
Not able to configure hibernate template


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

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

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

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

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

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

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