JavaWizard-M 2021-01-24 07:04 采纳率: 50%
浏览 67

采用@GeneratedValue自动生成Id,两张表的id为什么不都是从1开始



@Entity
@Table(name="t_group")
public class Group {
	private int id;
	private String name;
	private Set<User> users = new HashSet<User>();
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	@OneToMany
	
	public Set<User> getUsers() {
		return users;
	}
	public void setUsers(Set<User> users) {
		this.users = users;
	}
}

@Entity
@Table(name="t_user")
public class User {
	private int id;
	private String name;
	private Group group;
	@ManyToOne(cascade={CascadeType.ALL})
	public Group getGroup() {
		return group;
	}
	public void setGroup(Group group) {
		this.group = group;
	}
	@Id
	@GeneratedValue
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}

//测试方法
@Test
	public void testSaveUser() {
		User u = new User();
		u.setName("u1");
		Group g = new Group();
		g.setName("g1");
		
		u.setGroup(g);
		
		Session session = sf.openSession();
		session.beginTransaction();
		session.save(u);;
		session.getTransaction().commit();
		session.close();
		
	}

查看生成的两张表的id

采用@GeneratedValue自动生成Id策略为什么两张表生成的id是顺序接连下来的,而不是从1各自递增?

Hibernate版本:hibernate-release-5.2.17.Final

展开全部

  • 写回答

1条回答 默认 最新

  • 被风吹过的回忆 2021-01-26 02:13
    关注

    有可能是数据库的问题

    评论
    编辑
    预览

    报告相同问题?

    手机看
    程序员都在用的中文IT技术交流社区

    程序员都在用的中文IT技术交流社区

    专业的中文 IT 技术社区,与千万技术人共成长

    专业的中文 IT 技术社区,与千万技术人共成长

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    客服 返回
    顶部