質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

1回答

7480閲覧

実行時「ORA-02289: 順序が存在しません」について

退会済みユーザー

退会済みユーザー

総合スコア0

Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2020/04/24 07:07

編集2020/04/25 00:47

spring bootでログイン画面を作成しています。
参考しているサイト

実行時にこのようなエラーが発生しています。
(文字数制限のため、各項目の上位ログ以外は省略)

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'webSecurityConfig': Injection of autowired dependencies failed; nested exception is org.springframework.dao.InvalidDataAccessResourceUsageException: could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:405) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1422) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:594) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE] Caused by: org.springframework.dao.InvalidDataAccessResourceUsageException: could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:281) ~[spring-orm-5.2.5.RELEASE.jar:5.2.5.RELEASE] at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:255) ~[spring-orm-5.2.5.RELEASE.jar:5.2.5.RELEASE] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:528) ~[spring-orm-5.2.5.RELEASE.jar:5.2.5.RELEASE] Caused by: org.hibernate.exception.SQLGrammarException: could not extract ResultSet at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:63) ~[hibernate-core-5.4.12.Final.jar:5.4.12.Final] at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42) ~[hibernate-core-5.4.12.Final.jar:5.4.12.Final] at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113) ~[hibernate-core-5.4.12.Final.jar:5.4.12.Final] Caused by: java.sql.SQLSyntaxErrorException: ORA-02289: 順序が存在しません。 at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:494) ~[ojdbc8.jar:12.2.0.1.0] at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:446) ~[ojdbc8.jar:12.2.0.1.0] Caused by: oracle.jdbc.OracleDatabaseException: ORA-02289: 順序が存在しません。 at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:498) ~[ojdbc8.jar:12.2.0.1.0] ... 95 common frames omitted

WebSecurityConfig

@EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Autowired private UserService userService; @Override protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers("/", "/signup","/login", "/login-error").permitAll() .antMatchers("/**").hasRole("USER") .and() .formLogin() .loginPage("/login").failureUrl("/login-error"); } @Autowired public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { auth // .inMemoryAuthentication() // .withUser("user").password("password").roles("USER"); .userDetailsService(userService) .passwordEncoder(passwordEncoder()); userService.registerAdmin("admin", "password", "admin@localhost"); } @Bean public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); //return NoOpPasswordEncoder.getInstance(); } }

UserService

@Service public class UserService implements UserDetailsService { @Autowired private UserRepository repository; @Autowired private PasswordEncoder passwordEncoder; @Override public UserEntity loadUserByUsername(String userName) throws UsernameNotFoundException { if (userName == null || "".equals(userName)) { throw new UsernameNotFoundException("Username is empty"); } UserEntity user = repository.findByUserName(userName); if (user == null) { throw new UsernameNotFoundException("User not found: " + userName); } return user; } @Transactional public void registerAdmin(String username, String password, String mailAddress) { UserEntity user = new UserEntity(username, passwordEncoder.encode(password), mailAddress); user.setAdmin(true); repository.save(user); } @Transactional public void registerUser(String username, String password, String mailAddress) { UserEntity user = new UserEntity(username, passwordEncoder.encode(password), mailAddress); repository.save(user); } }

WebSecurityConfigのuserDetailServiceからuserService.registerAdminまで
コメントし、すでにコメントされているところを復活させたら問題なかったです。
UserServiceのregisterAdminが動くタイミングでrepository.saveが失敗しているようでした。

DB情報

イメージ説明

対象テーブル

CREATE TABLE "STUDYUSER"."TODO_LIST_USER" ( "ID" VARCHAR2(20 BYTE) NOT NULL ENABLE, "NAME" VARCHAR2(20 BYTE), "MAILADDRESS" VARCHAR2(20 BYTE), "MAILADDRESSVERIFIED" NUMBER(*,0), "PASSWORD" VARCHAR2(1000 BYTE), "ENABLED" NUMBER(*,0), CONSTRAINT "TODO_LIST_USER_PK" PRIMARY KEY ("ID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "USERS" ENABLE ) SEGMENT CREATION IMMEDIATE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "USERS" ;

sequence

イメージ説明

ORA-02289の対策を調べて、sequenceを作成しましたが
作り方が間違っているのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

CREATE TABLE はキャプチャではなく、markdown の[コード] に修正してください。

SQL

1INSERT INTO ... VALUES(SEQ1.NEXTVAL, ...) ; 2のようなINSERT文を実行しているはず。 3 4あらかじめ、 5CREATE TABLE といっしょに実行するべき 6CREATE SEQUENCE SEQ1 ... ; 7が実行されていないのでエラーになっています。

投稿2020/04/24 07:45

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/04/25 00:51

確認が遅くなり、申し訳ございません。 ご回答ありがとうございます。 CREATE TABLEをコードに修正しました。 IDという名前のSEQUENCEを作成しておきましたが、SEQ1という名前にするべきということでしょうか。 それとも、INSERT対象のテーブルにSEQUENCE用の列が必要でしょうか。
退会済みユーザー

退会済みユーザー

2020/04/25 01:36

entitiy側にgeneratorをAutoではなく、直接指定したら上記のエラーは消えました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問