将车辆对象持久保存到数据库时会自动生成ID。如何在不坚持的情况下获得ID的价值?
这是代码:
public class Vehicle{
@Id
@GeneratedValue
int id;
private int year;
private String model;
//getters, setters
}
更新
public void updateVehicle(Vehicle vehicle) {
em.getTransaction().begin();
Vehicle vehicleDB = em.find(Vehicle.class, vehicle.getId());
vehicleDB.setYear(vehicle.getYear());
vehicleDB.setModel(vehicle.getModel());
em.getTransaction().commit();
}
答案 0 :(得分:6)
您不能,因为它是在持久性时由数据库生成的。在此之前,id未定义。
答案 1 :(得分:-1)
我们无法在保存之前获取它,但简单的解决方案是在保存对象之前,您可以通过选择查询来获取它。