Wrong column type in jpa2.phone for column number. Found: varchar, expected: bigint

报这个错的原因

在这里插入代码片

@Test
    public void test() throws Exception{
        Persistence.createEntityManagerFactory("jpa_day04");
    }

在我运行这个测试时,控制台给我抛出了这样一个错误:

org.hibernate.HibernateException: Wrong column type in jpa2.phone for column number. Found: varchar, expected: bigint

这类报错简单明了,根据他的意思可知,当我们在测试时,他将实体类与数据库中的表进行比对,通过比对,发现phone这个实体类中的number字段的类型与数据库中的类型不一致,预期查询是bight类型,但是数据库中却是varchar类型

@Entity
public class Phone {
    @Id
    @GeneratedValue
    private Long id;
    private String types;
    private Long number;
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "employee_id")
    private Employee employee;

    public Phone() {
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getTypes() {
        return types;
    }

    public void setTypes(String types) {
        this.types = types;
    }

    public Long getNumber() {
        return number;
    }

    public void setNumber(Long number) {
        this.number = number;
    }

    public Employee getEmployee() {
        return employee;
    }

    public void setEmployee(Employee employee) {
        this.employee = employee;
    }
}

这个时候,我们需要将phone这个实体类的number字段的数据类型改为String,然后修改getter和setter方法,修改之后,再运行测试类即可


版权声明:本文为qq_46114359原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。