Java Spring总是尝试访问表'ismaauser_seq',但我只希望它访问表'ismaauser'

6jjcrrmo  于 2023-02-11  发布在  Spring
关注(0)|答案(1)|浏览(79)

下面是我如何定义需要访问的表。enter image description here
以下是我如何配置WEB应用程序enter image description here
这就是我的问题。
我不知道为什么它总是试图访问'**_seq'。
我想弄清楚后缀是从哪里来的。

6yoyoihd

6yoyoihd1#

如果您使用GenerationType.AUTO,Hibernate将选择其中一个策略来生成您的id。
AUTO -标识列、序列或表,取决于底层DB。
因此,在您的情况下,Hibernate使用TABLE(因为MySQL没有序列特性)并尝试使用不存在的ismaauser_seq。

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", updatable = false, nullable = false)
private Integer id;

或指定发生器:

@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "native")
@GenericGenerator(name = "native", strategy = "native")
@Column(name = "id", updatable = false, nullable = false)
private Integer id;

相关问题