Ran*_*aul 2 mysql hibernate hibernate-mapping java-ee
我使用的是Hibernate框架3.6.10.Final和MySql.我正进入(状态
线程"main"org.hibernate.MappingException中的异常:无法使用身份列密钥生成和映射:org.koushik.javabrains.dto.Vehicle
什么时候包括@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)车辆类.这个注释工作得很好.
Vehicle.java 是我的基类:
@Entity
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
public class Vehicle
{
@Id
@GeneratedValue
private int vehicleId;
private String vehicleName;
public int getVehicleId() {
return vehicleId;
}
public void setVehicleId(int vehicleId) {
this.vehicleId = vehicleId;
}
public String getVehicleName() {
return vehicleName;
}
public void setVehicleName(String vehicleName) {
this.vehicleName = vehicleName;
}
}
Run Code Online (Sandbox Code Playgroud)
TwoWheeler.java:
@Entity
public class TwoWheeler extends Vehicle {
private String SteeringHandle;
public String getSteeringHandle() {
return SteeringHandle;
}
public void setSteeringHandle(String steeringHandle) {
SteeringHandle = steeringHandle;
}
}
Run Code Online (Sandbox Code Playgroud)
FourWheeler.java:
@Entity
public class FourWheeler extends Vehicle {
private String SteeringWheel;
public String getSteeringWheel() {
return SteeringWheel;
}
public void setSteeringWheel(String steeringHandle) {
SteeringWheel = steeringHandle;
}
}
Run Code Online (Sandbox Code Playgroud)
我的主要课程:
public class HibernateTest {
public static void main(String[] args)
{
Vehicle vehicle = new Vehicle();
vehicle.setVehicleName("audi"+(int)(Math.random() * 100) + 1);
TwoWheeler bike = new TwoWheeler();
bike.setVehicleName("bike");
bike.setSteeringHandle("Bike SteeringHandle");
FourWheeler car = new FourWheeler();
car.setVehicleName("car");
car.setSteeringWheel("Car SteeringHandle");
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();
session.beginTransaction();
session.save(vehicle);
session.save(bike);
session.save(car);
session.getTransaction().commit();
session.close();
}
}
Run Code Online (Sandbox Code Playgroud)
当我正在运行时遇到以下错误:
SLF4J:无法加载类"org.slf4j.impl.StaticLoggerBinder".SLF4J:默认为无操作(NOP)记录器实现SLF4J:有关更多详细信息,请参阅http://www.slf4j.org/codes.html#StaticLoggerBinder.异常在线程"主要" org.hibernate.MappingException:不能使用标识列密钥生成与映射:在org.hibernate.persister.entity.UnionSubclassEntityPersister org.koushik.javabrains.dto.Vehicle(UnionSubclassEntityPersister.java:90)在org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:90)在org.hibernate.impl.SessionFactoryImpl.(SessionFactoryImpl.java:286)在org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1872)在org.koushik.hibernate.HibernateTest.main(HibernateTest.java:26)
| 归档时间: |
|
| 查看次数: |
2683 次 |
| 最近记录: |