-1

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();
}
4

2 回答 2

6

你不能,因为它是由数据库在持久化时生成的。在此之前,没有定义 id。

于 2012-12-29T17:15:25.723 回答
-1

我们无法在保存之前获取它,但简单的解决方案是在保存您的对象之前,您可以通过选择查询来获取它。

于 2012-12-29T17:22:22.767 回答