요즘 개발중인 프로젝트에서 연관관계 매핑할 순서가 왔다...
지금까지 Spring Security 때문에 Member Entity만 작성하고 핵심 서비스 로직 개발하다가
이제서야 예전에 설계 해 놓은 DB 테이블을 보고
룰루랄라 @Entity 어노테이션을 달고
@OneToOne, @OneToMany 열심히 달고 있었는데
실행이 안된다....
error executing ddl alter table drop foreign key 오류가 몇번 반속해서 나오는데
내가 연관관계를 잘못 넣었나? 몇번 확인하고 김영한 강사님 강의도
다시 복습하고 해도 안된다...
인터넷도 검색해도 나오지 않고 혹시나 해서
@Column(unique = true)를 지우니깐 되네?
이유는 잘모르겠지만 혹시 이런 오류가 뜨면 Column 어노테이션에 unique 속성을 삭제 해 보면 될 것 같다.
혹시 정확한 이유를 알게 되면 올릴게요
그리고 위 DB 설계 한 것을 보게 되면 심각한 오류가 있다....
Member와 Download Entity의 연관관계까지 주입하고 이제 File을 작성하고 돌려보니깐
또 오류가 뜬다... 미치겠네ㅋㅋ
오류메시지를 잘 보니 private Boolean lock에 문제가 있는거 같아
혹시나 하는 마음으로 fileLock으로 바꾸고 돌려보니깐 실행이 된다.
아 SQL "예약어"를 테이블이나 칼럼명에 사용하면 안된다고 수업시간에 그렇게 배웠었는데
오래되다 보니 까먹은거 같다....
예약어(豫約語, 영어: reserved word)는 컴퓨터 프로그래밍 언어에서 이미 문법적인 용도로 사용되고 있기 때문에 식별자로 사용할 수 없는 단어들이다. 예를 들어 C에서 return은 변수명이나 함수명으로 사용할 수 없다. 그런 단어들은 키워드이다.(출처 위키피디아)
ADD AND BEFORE BY CALL CASE CONDITION DELETE
DESC DESCRIBE FROM GROUP IN INDEX INSERT
INTERVAL IS KEY LIKE LIMIT LOCK LONG MATCH
NOT OPTION OR ORDER PARTITION RANK REFERENCES
SELECT TABLE TO UPDATE WHERE
등이 있다.