【发布时间】:2016-11-13 06:56:57
【问题描述】:
尝试运行一个简单的示例。但出现以下错误。可能是个愚蠢的错误。
错误:
MySQLSyntaxErrorException:未知列 'vehicle_vehicleId' 在 '字段列表'
代码:
用户.java
public class User {
@Id @GeneratedValue
private Long userId;
@OneToOne
private Vehicle vehicle;
// Getter and setter of userId and vehicle
}
Vehicle.java:
@Entity
public class Vehicle {
@Id @GeneratedValue
private int vehicleId;
private String vehicleName;
// getter and setter of vehicleId and vehicleName
}
MainClass.java
SessionFactory sessionFact = new Configuration().configure().buildSessionFactory();
User user1 = new User();
Session session = sessionFact.openSession();
Transaction tx = session.beginTransaction();
user1.setUserAddress("USA");
user1.setUserName("John");
Vehicle vehicle1 = new Vehicle();
vehicle1.setVehicleName("Ferrari");
user1.setVehicle(vehicle1);
session.save(user1);
session.save(vehicle1);
tx.commit();
session.close();
我不知道为什么它不能创建映射列'vehicle_vehicleId'。
我经历了以下 SO 答案。但实际上并没有帮助。
- java hibernate Unknown column ' ' in 'field list'
- ERROR: Unknown column 'this_.idHardDrives' in 'field list'
- Hibernate : Unknown column in field list
请帮忙
【问题讨论】:
-
这在我看来像是 MySQL 错误,而不是休眠错误。
-
@SamOrozco。是的 。实际上它在重新启动 MySQL 服务器后得到了解决。但是在成功运行一次主类之后,我又遇到了这个问题
-
尝试在@OneToOne 上方添加@Column(name ="vehicle_vehicle")