/**
* 自定义的主键生成策略
* 如果set了主键id,就使用这个id插入,如果不set主键id,则利用数据库本身的自增策略指定id
* @Author: hekaikai
* @Date: 2020/12/16 14:34
*/
public class CustomGenerator extends IdentityGenerator {
@Override
public Serializable generate(SharedSessionContractImplementor s, Object obj) throws HibernateException {
Serializable id = s.getEntityPersister(null, obj).getClassMetadata().getIdentifier(obj, s);
if (id != null && Integer.valueOf(id.toString()) > 0) {
return id;
} else {
return super.generate(s, obj);
}
}
}
hibernate 自定义主键策略 (可以自己设定id,也可以根据数据库的id生成策略)
最新推荐文章于 2022-09-23 21:56:53 发布