我有名为Driver的Entity类,我的主键生成机制是
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
现在我需要向Driver添加“driverCode”属性,它应该是带前缀的唯一值(dri1,dri2),“dri”是前缀值,key应该是Driver的主键值,我想要在第一次创建驱动程序时添加driverCode,为此我需要获取最后插入的驱动程序的主键,添加一个,并与前缀连接,任何人都可以告诉如何获取最后插入的记录的主键插入新记录,有没有简单的方法?
提前谢谢你,
答案 0 :(得分:5)
如果您EntityManger
@Id
,则EntityManger em;
Driver d = new Driver();
em.persist(d);
em.flush();
long id = d.getId(); // this will give you the current record's id
字段将填充有关的值
保存到数据库中,因此您不需要找到最后插入的数据库,因为您已经知道当前插入的那个:
{{1}}
而且,“获取最后插入的id”是非常棘手和危险的;它似乎远没有那么简单。
答案 1 :(得分:1)
适合我的那个
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public int getId() {
return id;
}
然后你可以
object.getId();