Spring boot не может найти HIBERNATE_SEQUENCEJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Spring boot не может найти HIBERNATE_SEQUENCE

Сообщение Anonymous »

Для многих приложений все, что нам нужно, это разместить правильные
зависимости данных Spring в пути к классам. Это работает нормально:

config:

@Configuration
@EnableAutoConfiguration
@EntityScan(basePackages = {"io.boot.spring.entities"})
@EnableJpaRepositories(basePackages = {"io.boot.spring.repositories"})
@EnableTransactionManagement
public class ConfigForJPA {

@Bean
@ConfigurationProperties("spring.datasource.hikari")
public HikariDataSource dataSource() {
return (HikariDataSource) DataSourceBuilder.create()
.type(HikariDataSource.class).build();
}




application.properties:

spring.datasource.hikari.jdbc-url=jdbc:h2:mem:mydb
spring.datasource.hikari.username=sa
spring.datasource.hikari.password=
spring.jpa.hibernate.ddl-auto=create-drop
spring.jpa.show-sql=true
spring.jpa.hibernate.use-new-id-generator-mappings=true


консоль:

Hibernate: drop table Blog if exists
Hibernate: drop table Item if exists
Hibernate: drop table Role if exists
Hibernate: drop table User if exists
Hibernate: drop table User_roles if exists
Hibernate: drop sequence if exists hibernate_sequence
Hibernate: create sequence hibernate_sequence start with 1 increment by 1
Hibernate: create table Blog
Hibernate: create table Item
Hibernate: create table Role
Hibernate: create table User
Hibernate: create table User_roles (users_id integer not null, roles_id integer not null)
main] org.hibernate.tool.hbm2ddl.SchemaExport : HHH000230: Schema export complete
j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
Hibernate: call next value for hibernate_sequence
Hibernate: insert into Role (name, id) values (?, ?)
Hibernate: call next value for hibernate_sequence
Hibernate: insert into Role (name, id) values (?, ?)
Hibernate: call next value for hibernate_sequence
Hibernate: insert into User (email, name, password, id) values (?, ?, ?, ?)
Hibernate: insert into User_roles (users_id, roles_id) values (?, ?)
Hibernate: insert into User_roles (users_id, roles_id) values (?, ?)


но в загрузочном документе Spring сказано, что для полного контроля над конфигурацией
EntityManagerFactory вам необходимо добавить @Bean с именем «entityManagerFactory»
и когда я добавлю его в свою конфигурацию.

конфигурация:

@Bean
public LocalContainerEntityManagerFactoryBean
entityManagerFactory(EntityManagerFactoryBuilder builder) {
return builder
.dataSource(dataSource())
.packages("io.boot.spring")
.persistenceUnit("io.boot.spring.entities")
.build();

}


Выдает ошибку:

консоль:

: HHH000412: Hibernate Core {5.0.11.Final}
: HHH000206: hibernate.properties not found
: HHH000021: Bytecode provider name : javassist
: HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Started.
: HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory
for persistence unit 'io.boot.spring.entities'
Hibernate: call next value for hibernate_sequence
: SQL Error: 90036, SQLState: 90036
: Sequence "HIBERNATE_SEQUENCE" not found; SQL statement:
call next value for hibernate_sequence [90036-193]


почему HIBERNATE_SEQUENCE не найден? Я ничего не изменял
просто добавил bean-компонентentityManagerFactory в файл конфигурации

Entity:

@Entity
public class Role {

@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE)
private Integer id;

private String name;

... getters and setters


Подробнее здесь: https://stackoverflow.com/questions/421 ... e-sequence
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»