본문 바로가기
Backend/Spring

[Spring] 댓글 엔티티와 리파지터리 만들기 (진행 중)

by 희디 2023. 8. 29.

댓글과 게시글의 관계

 

게시글을 보면, 하나의 게시글에 수많은 댓글이 달린다. 

이러한 관계를 one-to-many (일대다 관계 - 1:n)라고 한다. 

거꾸로 댓글 입장에서 보면, 여러 댓글이 하나의 게시글에 달리므로, many-to-one, 즉 다대일 관계이다. 

 

@JoinColumn(name="외래키 이름") 을 설정하면, 댓글 엔티티로 생성될 DB 테이블에 "외래키 이름"이라는 속성이 만들어진다. artilce 필드에 다대일 관계를 설정했으면, 외래키도 매핑해줘야 한다. 바로 기본키와 매칭을 해주야 함. 

 

 

JpaRepository에서 

 

@Query 어노테이션 

 

resource > META-INF > orm.xml 로 xml 코드 만들기 (무조건 이름 똑같이 해야 인식됨) 

엔티티 매핑을 위한 xml 틀 코드 (기본) 

<?xml version="1.0" encoding="utf-8" ?>
<entity-mappings xmlns="https://jakarta.ee/xml/ns/persistence/orm"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xsi:schemaLocation="https://jakarta.ee/xml/ns/persistence/orm
                 https://jakarta.ee/xml/ns/persistence/orm/orm_3_0.xsd"
                 version="3.0">
    
    
</entity-mappings>

 

entity-mappings 사이에 들어가는 코드는 아래와 같다. 엄밀히 말하면 코드형식이.

주석으로 들어가는 내용

<named-native-query name = "쿼리 대상 엔티티.메서드 이름"
		result-class = "쿼리 수행 결과 반환하는 타입의 전체 패키지 경로">
        
    <query>
    
    <![CDATA[
    	// 쿼리 //
    ]]>
    
    </query>
</named-native-query>