替换Spring与hibernate相关jar包,hibernate需要升级到5
报错信息整理
java.lang.NoClassDefFoundError: org/hibernate/service/ServiceRegistry
升级hibernate5
javaee-api 更新到8.0
Error creating bean with name 'adminServiceImpl': Unsatisfied dependency expressed through field 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in file XXXXX
找到XXXX文件中废弃的或者复杂的Hibernate注解,例如
@Index(name="uid")
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="generator")
但需要注意,这些注解可能在以后项目运行时有用。此处的目的是尽可能地先让项目成功编译运行。
org.hibernate.engine.jdbc.spi.SqlExceptionHelper ORA-02289: 序列不存在
涉及到的类应当与hibernate的主键生成策略有关,即类中包括@GeneratedValue和@SequenceGenerator注解
查看是否多引入了javax.persistence-api-2.2.jar等类似jar包,删去重试
升级druid(不一定必须)
例如:
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="generator")
@SequenceGenerator(name="generator",sequenceName="UID")
generator和name的值不要设为generator,会报错
Sql相关
import org.hibernate.Query 改成 import org.hibernate.query.Query;
query.setString("userId", userId)等方法修改为query.setParameter("userId", userId);
(不改也可用,但还是建议修改)
网友评论