“ In-Memory” H2数据库使用哪种自动递增?

时间:2018-06-29 14:46:11

标签: hibernate h2 hibernate-5.x

我的Spring Boot 2 / Hibernate 5应用程序正在针对H2服务器版本1.4.197运行一些集成测试。

数据库服务器使用哪种自动增量?

  • 保留所有表的全局编号的表
  • 所有表都全局的'hibernate_sequence'序列?
  • 一些自动增量列,每个表一个?
  • 一些本机序列,每个表一个?

更新:在注释之后,这是Hibernate注释配置:

@MappedSuperclass
public abstract class AbstractEntity {

  @Id
  @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "id_native")
  @GenericGenerator(name = "id_native", strategy = "native")
  @Column(name = "id", updatable = false, nullable = false)
  private Long id;
...
}

@Entity
@SequenceGenerator(name = "id_generator", sequenceName = "user_role_id_seq")
public class UserRole extends AbstractEntity {
...
}

以及连接参数:

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect
spring.datasource.driver-class-name=net.sf.log4jdbc.DriverSpy
spring.datasource.url=jdbc:log4jdbc:h2:file:./target/useraccounttest;DB_CLOSE_ON_EXIT=FALSE;IGNORECASE=TRUE
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.show-sql=true

请注意,user_role_id_seq序列仅由Oracle数据库使用,希望H2数据库会忽略。

0 个答案:

没有答案