create table banchan( id INT PRIMARY KEY, detail_hash VARCHAR(10) NOT NULL, image VARCHAR(255) NOT NULL, alt VARCHAR(255) NOT NULL, title VARCHAR(255) NOT NULL, description VARCHAR(255) NOT NULL, nPrice VARCHAR(10) NOT NULL, sPrice VARCHAR(10) NOT NULL )
create table badge (
id INT PRIMARY KEY,
badge VARCHAR(10) NOT NULL,
banchan_id VARCHAR(10),
foreign key (banchan_id) references banchan(detail_hash)
);
CREATE TABLE [테이블명] (
[컬럼명][데이터타입] (NOT NULL / DEFAULT NULL),
[컬럼명][데이터타입] (NOT NULL / DEFAULT NULL),
PRIMARY KEY([기본키로 지정할 컬럼명]),
FOREIGN KEY ([외래키로 지정할 컬럼명]) REFERENCES [참조테이블명] ([참조테이블의 컬럼명])
);
create table delivery_type (
delivery_type VARCHAR(10),
foreign key (delivery_type) references banchan(delivery_type)
);
참조테이블의 컬럼이 PK이거나 UNIQUE여야함
갑자기 PK여도 안되서 UNIQUE로 하니까 됨
이걸로하려다 걍 enum으로 했음;;
든든한반찬, 국물요리, 밑반찬은 개별적으로 내가 category_id 를 만들어서 리퀘스트들어오면 매핑한 메서드에서 category_id에 따라서 불러오기로..
스트링을 ID로했더니 create할때 ID[넣어준 값] not found in database라는 에러가뜸
detail_hash 로 찾는 메서드는 아래처럼
public interface BanchanRepository extends CrudRepository<Banchan, Long> {
@Query("select * from banchan where detail_hash = :detail_hash")
Banchan findBanchanByDetail_hash(String detail_hash);
}
create table badge (
badge VARCHAR(10) references banchan(badge)
);
배열어떻게 넣지 계속고민하다가....JSON DATA를 지원하는 5.7.8로..근데 도저히 뭔말인지모르겠다.
그냥 객체로 반환하도록 해야겠다
select * from banchan where detail_hash = ":detail_hash";