0
entityManager.persist(员工)Hibernate的实体ID生成需要一个数据库打
,当我们要求这一点,那么就休眠进入数据库,生成员工实体的身份,或者它在只有Hibernate的一侧产生?
entityManager.persist(员工)Hibernate的实体ID生成需要一个数据库打
,当我们要求这一点,那么就休眠进入数据库,生成员工实体的身份,或者它在只有Hibernate的一侧产生?
据我所知,这取决于你的Id生成策略。如果您的实体的ID是自动增量(GenerationType.IDENTITY
),那么不需要额外的数据库命中。但是如果你正在使用序列(GenerationType.SEQUENCE
),那么休眠命中数据库。但你可以使用@SequenceGenerator
注释来调整它。有一个属性allocationSize
,它指示从序列中分配序列号时的增量量。这会减少数据库命中,因为您在一次命中中分配更多的Id值。
此外,您可以使用一些分析工具(如Xrebel)来检查数据库匹配,该工具显示JPA和SQL查询。
您可以请发布实体代码?这取决于实体如何定义。 – Gondy