Исключение гибернации: не удалось выполнить инструкцию, com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: неизвестный столбец «USERID» в «списке полей» - PullRequest
0 голосов
/ 26 октября 2018
package hibernate2;

import java.util.ArrayList;
import java.util.Collection;

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

@Entity
@Table(name="User1_Details")
public class UserDetails {
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private int userId;
    private String userName;
    @OneToMany(mappedBy="user")
    private Collection<Vehicle> vehicle = new ArrayList<Vehicle>();
    public int getUserId() {
        return userId;
    }
    public void setUserId(int userId) {
        this.userId = userId;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public Collection<Vehicle> getVehicle() {
        return vehicle;
    }
    public void setVehicle(Collection<Vehicle> vehicle) {
        this.vehicle = vehicle;
    }   
}

И я создал класс транспортного средства

package hibernate2;

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

@Entity
public class Vehicle {
    @Id
    @GeneratedValue(strategy =GenerationType.AUTO)
    private int vehicle_Id;
    private String vehicle_Name;
    @ManyToOne
    @JoinColumn(name="USER_ID")
    private UserDetails user;

    public UserDetails getUser() {
        return user;
     }
    public void setUser(UserDetails user) {
        this.user = user;
    }
    public int getVehicle_Id() {
        return vehicle_Id;
    }
    public void setVehicle_Id(int vehicle_Id) {
        this.vehicle_Id = vehicle_Id;
    }
    public String getVehicle_Name() {
        return vehicle_Name;
    }
    public void setVehicle_Name(String vehicle_Name) {
        this.vehicle_Name = vehicle_Name;
    }
}

И следующие были мой код hiernate или пакет класса DAO hibernate2;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class Hibernate {

    public static void main(String[] args) {
        UserDetails user = new UserDetails();
        user.setUserName("Ranjith");

        Vehicle vehicle = new Vehicle();
        vehicle.setVehicle_Name("Car");

        Vehicle vehicle2 = new Vehicle();
        vehicle2.setVehicle_Name("Jeep");

        user.getVehicle().add(vehicle); 
        user.getVehicle().add(vehicle2);

        vehicle.setUser(user);
        vehicle2.setUser(user);

        SessionFactory sessionfactory = new 
        Configuration().configure().buildSessionFactory();
        Session session = sessionfactory.openSession();
        session.beginTransaction();
        session.save(user);
        session.save(vehicle);
        session.save(vehicle2);
        session.getTransaction().commit();
        session.close();

    }

}

После запуска этого выше класса я получаюследующая ошибка Исключение в потоке «main» org.hibernate.exception.SQLGrammarException: не удалось выполнить инструкцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...