Skip to main content
 首页 » 编程设计

jpa之Spring数据jpa保存无法获取id

2024年11月24日41qq号

生成了我的实体 ID,当我使用 DAO 而不是 Spring 数据 JPA 时它工作正常。

@Id 
@Column(name = TABLE_COLUM_NAME_ID) 
@GeneratedValue 
private int id; 

现在我已经开始使用 Spring data JPA,并且在我调用 repository.save(myboject) 之后, 或 repository.saveAndFlush(myobject) , 我调用 myobject.getId() .但是 id 永远不会被填充。

我搜索了我的数据库,对象在数据库中,并且 id 是正确的。
有谁知道为什么在我调用 save() 后没有设置 id ?我使用 entitymanager.save() 时没有问题.

请您参考如下方法:

  • 您应该使用 repository.saveAndFlush();方法:

  • MyObject savedObject= repository.saveAndFlush(newObject);


  • 在实体对象描述中,您应该将以下属性(@GeneratedValue(strategy = GenerationType.AUTO))添加到相关字段(id)中:

  • @Id    
    @Column(name = "id")    
    @GeneratedValue(strategy = GenerationType.AUTO)    
    public long getId() {   
        return id;   
    }