Java Hibernate:添加到列表的实体的ID
我使用的是Spring数据JPA+Hibernate。我需要在实体添加到其他实体的列表并保存后获取该实体的ID。代码如下: @实体 公共类产品扩展了AbstractAuditable{ @OneToManycascade=CascadeType.ALL,fetch=FetchType.LAZY @JoinColumnname=product\u id,null=false 私有列表反馈=新建ArrayList; ... } @实体 公共类反馈扩展了可抽象的持久性{ @ManyToOnefetch=FetchType.LAZY @JoinColumnname=product_id,insertable=false,Updateable=false,nullable=false 私人产品; ... } 公共接口ProductRepository扩展了JpaRepository{ } 反馈=新反馈; product.getFeedbacks.addfeedback; productRepository.saveProductProductProduct; feedback.getId;//返回空值Java Hibernate:添加到列表的实体的ID,java,hibernate,jpa,spring-data,spring-data-jpa,Java,Hibernate,Jpa,Spring Data,Spring Data Jpa,我使用的是Spring数据JPA+Hibernate。我需要在实体添加到其他实体的列表并保存后获取该实体的ID。代码如下: @实体 公共类产品扩展了AbstractAuditable{ @OneToManycascade=CascadeType.ALL,fetch=FetchType.LAZY @JoinColumnname=product\u id,null=false 私有列表反馈=新建ArrayList; ... } @实体 公共类反馈扩展了可抽象的持久性{ @ManyToOnefetch
如何在保存反馈后正确获取反馈ID?您可以从Hibernate会话界面或EntityManager界面执行refresh方法,从基础数据库中重新读取给定实例的状态。例如:
session.save(object);
session.flush();
session.refresh(object);
您可以在此处找到更多信息: