Due to dependencies upgrade:
I started to use hibernate-core-6.1.5 with his new strategy to give names to tables.
So now tests are broken because when I want to save data to some some table a "_SEQ" is added to the table's name and the test won't find the table.
Investigating I finded some source:
To bypass the problem I'm specifying the strategy inside every entity:
@Entity
@Table(name = "animal")
public class Animal {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)  // this will overwrite SEQUENCE
    @Column(name = "id")
    private Long id;
Could this be done in the application.yml?
Thanks to M. Deinum the problem is solved.
Now my application.yml is:
spring.jpa.properties.hibernate.id.db_structure_naming_strategy: legacy
spring.jpa.hibernate.naming:
  implicit-strategy: org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
  physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
spring:
  profiles.active: dev
  jpa.hibernate.use-new-id-generator-mappings: false
  jpa.properties.jakarta.persistence.sharedCache.mode: ALL
  hibernate.show_sql: true
  flyway.out-of-order: false
# other stuff
As of today I have new informations:
Hibernate changes its GeneratedType.AUTO strategy since 5.2
application.yml
spring:
  profiles.active: dev
  datasource:
    url: jdbc:sqlite:/data.db
    driver-class-name: org.sqlite.JDBC
  jpa:
    database-platform: org.hibernate.community.dialect.SQLiteDialect
---
spring:
  config:
    activate:
      on-profile: dev
  main:
    banner-mode: off
  # jpa.show-sql: true
logging.level:
  root: INFO
  level: DEBUG
  org.springframework.web: DEBUG
  org.hibernate.type: DEBUG
  # org.hibernate.SQL: DEBUG
The Entity:
@Entity
@Table(name = "files")
@Data
class FileEntity() {
    constructor(originalFilename: String, calculateHash: String) : this() {
        this.filename = originalFilename
        this.hash = calculateHash
    }
    @Id
    @GenericGenerator(name = "gen", strategy = "increment")
    @GeneratedValue(strategy = GenerationType.AUTO, generator = "gen")
    @Column(name = "id", unique = true, nullable = false)
    private var id: Long? = null
    @Column(nullable = false)
    private var filename: String? = null
    @Column(nullable = false, unique = true)
    private var hash: String? = null
}
source : https://stackoverflow.com/a/11390603/16988820
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With