jpa - 如何手动设置 @GeneratedValue 的值

bt365开户 📅 2025-07-14 17:16:01 ✍️ admin 👁️ 8167 ❤️ 50
jpa - 如何手动设置 @GeneratedValue 的值

发布解决方案,我在对整个持久过程进行了调试之后(不是说这是正确的方法,但我确实没有找到任何“可能我配置错误”的地方):

public class MyGenerator extends SequenceStyleGenerator {

@Override

public Serializable generate(SharedSessionContractImplementor session, Object object) throws HibernateException {

return Optional.of(object)

.filter(Entity.class::isInstance)

.map(Entity.class::cast)

.map(Entity::getId)

.filter(i -> i > 0)

.map(Serializable.class::cast)

.orElse(super.generate(session, object));

}

)

和实体:

@Entity

class Entity implements Serializable {

@GenericGenerator(name = "myGenerator", strategy = "org.a.b.c.generators.MyGenerator")

@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "myGenerator")

private Integer id;

}

相关创意

荣耀王者:《王者荣耀》苹果新服开服时间揭秘
手机银行跨行转账多久到账?
原神平时哪里能找到钟离 原神钟离一般在哪个时间段出现
《云顶之弈》S7神龙烈焰炮手怎么玩?S7神龙烈焰炮手阵容推荐
2025年快速下款的借钱软件有哪些?推荐5个正规借钱的平台
[分享]给大家介绍两个DIY装机的网站
“长期股权投资”太难?一文搞定你的崩溃!
Deft生涯个人成绩一览(截至目前):5度八强 终在DRX夺冠!
蜜蜂巢装修怎么样(蜜蜂巢装修公司怎么样)