第一种native , id自增, 相当于primary key auto_increment;
Book实体类
package com.chb.model;
public class Book {
private int id;
private String name;
private double price;
public Book() {}
public Book(int id, String name, double price) {
super();
this.id = id;
this.name = name;
this.price = price;
}
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;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
}
Book.hbm.xml
测试成功:
使用DROP TABLE book_table
将数据库中的book_table删除
ID生成策略改为assigned, 第一次执行,ID自动为1
再次执行测试, 报如下错误。因为id需要开发人员自己指定。
ERROR: Duplicate entry '0' for key 'PRIMARY'
三、生成策略为uuid
Book.hbm.xml
将Book实体类的id改为String
package com.chb.model;
public class Book {
private String id;
private String name;
private double price;
public Book() {}
public Book(String id, String name, double price) {
super();
this.id = id;
this.name = name;
this.price = price;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
}
删除数据库中的book_table
测试