SpringData JPAを使って、データベースにアクセスしています。
リポジトリにQuery自動生成するfingBy△△△メソッドを定義していますが、
テーブルのカラム名が”EMPL_ID”のような”ID”のキーワードを
含んでいると起動時に異常終了してしまいます。
解決策はありますでしょうか?
◆環境
Spring Tool Suite 4 Version: 4.8.1
SpringBoot2
Java8
◆リボジトリ
@Repository public interface BsLoginUserRPS extends JpaRepository<BsLoginUser,String>{ // JPAメソッドによるQuary自動生成(カラム名に連動) public Optional<BsLoginUser> findByLOGIN_IDAndCOMPANY_ID(String lid,String cid); }
◆テーブル
CREATE TABLE BS_LOGIN_USER ( LOGIN_ID VARCHAR2(8) NOT NULL ENABLE, COMPANY_ID VARCHAR2(20), PASSWORD VARCHAR2(50), NAME NVARCHAR2(20) )
◆エンティティ
@Entity @Table(name = "BS_LOGIN_USER") public class BsLoginUser { /** * loginIdプロパティ */ @Id @Column(name = "LOGIN_ID") public String loginId; /** * companyIdプロパティ */ @Column(name = "COMPANY_ID") public String companyId; /** * passwordプロパティ */ @Column(name = "PASSWORD") public String password; /** * nameプロパティ */ @Column(name = "NAME") public String name; }
◆エラー
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2021-02-09 11:38:36.795, [ ERROR ], org.springframework.boot.SpringApplication, Application run failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'loginSevice': Unsatisfied dependency expressed through field 'repository'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'bsLoginUserRPS' defined in jp.psf.shoryu.Repository.BsLoginUserRPS defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Failed to create query for method public abstract java.util.Optional jp.psf.shoryu.Repository.BsLoginUserRPS.findByLOGIN_IDAndCOMPANY_ID(java.lang.String,java.lang.String)! No property LOGIN found for type BsLoginUser!