ExC*_*ode 3 java mysql jpa jpa-2.0
我有一个名为Driver的Entity类,我的主键生成机制是
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
Run Code Online (Sandbox Code Playgroud)
现在我需要向Driver添加"driverCode"属性,它应该是带前缀的唯一值(dri1,dri2),"dri"是前缀值,key应该是Driver的主键值,我要添加第一次创建驱动程序时的driverCode,为此我需要获取最后插入的驱动程序的主键,添加一个,并与前缀连接,任何人都可以在插入新的之前告诉如何获取最后插入的记录的主键记录,这有什么简单的方法吗?
先感谢您,
如果flush()您是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
Run Code Online (Sandbox Code Playgroud)
而且,"获取最后插入的id"是非常棘手和危险的; 它似乎远没有那么简单.