报这个错的原因
在这里插入代码片
@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版权协议,转载请附上原文出处链接和本声明。