MySQLSyntaxErrorException:未知列' vehicle_vehicleId'在'字段列表'

时间:2016-11-13 06:56:57

标签: java mysql hibernate

尝试运行一个简单的例子。但得到以下错误。可能是一个愚蠢的错误。

错误:

  

MySQLSyntaxErrorException:未知列' vehicle_vehicleId'在   '字段列表'

代码:

User.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回答。但它实际上并没有帮助。

请帮助

2 个答案:

答案 0 :(得分:0)

我在@JoinColumn中看不到描述两个关系之间关系的mappedBy@OneToOne属性。请仔细阅读以下示例,它将为您提供有关@OneToOne的清晰概念。

One To One Relationship Example

答案 1 :(得分:0)

对我来说,它是通过在数据库中手动添加列来解决的。