Ser*_*sky 5 postgresql hibernate jhipster
我遇到了JHipster生成的实体ID生成问题:
INSERT INTO station (name) VALUES ('Adygeya')没有ID定义一样为什么?
我的研究表明,只有postgres和oracle在初始方案中jhipster创建了一个新的sequince"hibernate_sequence",用于创建新实体.
所以我通过为我的实体ID生成规则添加特定的序列名来解决这个错误的行为
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "station_gen")
@SequenceGenerator(name = "station_gen", sequenceName = "station_id_seq")
private Long id;
Run Code Online (Sandbox Code Playgroud)
现在我只有3个问题:
将在这里发布我的答案,这是在 @Ga\xc3\xablMarziou 和 @Julien Dubois 的帮助下找到的。
\n\n这是因为 Hibernate hilo 算法与 GenerationType.AUTO 的历史和默认行为。MySQL 不支持序列,所以 JHipster 需要使用这个愚蠢的算法
\n\nJHipster 团队找到了正确的解决方案,可以解决我的问题。解决方案是对所有数据库使用 GenerationType.SEQUENCE,但对 MySql 使用 GenerationType.IDENTITY。此提交中的所有详细信息https://github.com/jhipster/generator-jhipster/commit/4516b4ff4d49a96a75fd963b0c7667f198bd9b79
\n\n这样我现在也将配置我的实体。
\n| 归档时间: |
|
| 查看次数: |
2039 次 |
| 最近记录: |