天天看点

EntityManager保存(persist)数据后返回主键

1、建立entity类

 主键的注释是能否返回主键的关键

package com.italktv.model.entity;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "t_user")
public class User implements Serializable{

	private static final long serialVersionUID = 1L;
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Integer id;
	private String name;
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
	
}c
           

 2、保存对象,获取主键。

  下面的代码都是伪代码,因为本人就是因为entity注释的问题,返回不了主键。其他的代码可以参考其他人

分享的代码,本人不再此进行上传

User user = new User();
user.setName("789");
EntityManager.persist(user);
System.out.println(user.getId());
           

 直接保存对象,获取获取对象的主键就可以了,因为此时的user是被托管的。

继续阅读