2
这看起来应该很简单,但我一直无法找到答案......我在EE7环境中使用带有Derby的ElipseLink,并且有一系列带有外部或复合密钥关系。找出自动生成的主键
如果有自动生成A的主键的表A,B和C。 B将它用作外键,将C用作组合主键的一部分。
如何确定自动生成的值,它是A中唯一保证的唯一值?
我的假设是它应该在实体管理器方法中以某种方式可用,或者在em.persist(实体)完成后直接从属性中获得。我已确认该记录已创建,但在保留后使用getter方法时,该属性保持为空。
由于提前, 约翰
在最底层,它是Statement.getGeneratedKeys:http://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html#getGeneratedKeys()但是,我认为你的问题是真的关于JPA和EclipseLink,我不知道那里的答案。 –
@Bryan您的反馈提供了一个面包屑帮助我改进搜索。我发现持久层仅在物理写入数据库后才填充主键属性。这是用em.flush()完成的,现在它工作得很好。感谢您花时间帮助! – GolfAddict