请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

报错Could not get constructor for org.hibernate.persister.entity...

详细报错信息如下:org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘entityManagerFactory’ defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister
上网查阅相关资料都说是实体类没有实现映射,可能是缺少setter getter或是不规范之类,但是我的代码完全按照老师来的,下面是User实体类的代码:

package com.sherry.springboot.blog.domain;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity // 实体
public class User {

    @Id // 主键
    @GeneratedValue(strategy=GenerationType.IDENTITY) // 自增策略
    private Long id; // 实体一个唯一标识
    private String name;
    private String email;

    protected User() { // 无参构造函数;设为 protected 防止直接使用
    }

    public User(Long id, String name, String email) {
        this.id = id;
        this.name = name;
        this.email = email;
    }

    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }

    @Override
    public String toString() {
        return String.format("User[id=%d,name='%s',email='%s']", id, name, email);
    }
}
请问问题是出在哪里呢?

正在回答

1回答

Hibernate 的配置有问题吧~

0 回复 有任何疑惑可以回复我~
  • 提问者 Pinkcoix #1
    可以再说的稍微详细一点么.以下是我的application.properties:
     DataSource
    spring.datasource.url=jdbc:mysql://localhost:3306/blog?useUnicode=true&characterEncoding=utf8&useSSL=false
    spring.datasource.username=root
    spring.datasource.password=yuanmingyang
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    
    # JPA
    spring.jpa.show-sql=true
    spring.jpa.hibernate.ddl-auto=create-drop
    
    其中的driver只有com.mysql.jdbc.driver
    回复 有任何疑惑可以回复我~ 2019-01-22 19:35:16
  • 提问者 Pinkcoix #2
    你好,我找到问题所在了,是java版本过高了.
    回复 有任何疑惑可以回复我~ 2019-01-23 10:03:32
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号