<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>hailey.log</title>
        <link>https://velog.io/</link>
        <description>ෆ 𝓋𝒾𝓈 𝓉𝒶 𝓋𝒾𝑒 ෆ</description>
        <lastBuildDate>Tue, 11 Oct 2022 21:03:28 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>hailey.log</title>
            <url>https://images.velog.io/images/hailey_/profile/98a8b489-9795-471a-930b-6564243d2c00/KakaoTalk_20201206_225537022.jpg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. hailey.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/hailey_" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[RequestMapping과 리플렉션]]></title>
            <link>https://velog.io/@hailey_/RequestMapping</link>
            <guid>https://velog.io/@hailey_/RequestMapping</guid>
            <pubDate>Tue, 11 Oct 2022 21:03:28 GMT</pubDate>
            <description><![CDATA[<p>스프링부트에서 @RequestMapping에 앞 뒤로 슬래쉬(/) 여부에 대한 영향에 대해 문득 궁금해졌다.</p>
<p>예를 들어서 <code>@Controller(&quot;a/&quot;)</code>또는 <code>@Controller(&quot;a&quot;)</code>로 선언된 컨트롤러의 API의 <code>@RequestMapping(&quot;b&quot;)</code> 또는 <code>@RequestMapping(&quot;/b&quot;)</code> 는 각각 어떻게 호출될까에 대한 궁금증이 생긴 것이다.</p>
<p>해당 내용에 대해서는 아래 블로그 내용에서 찾아볼 수 있듯 리플렉션 api와 관련있다. 아무튼 결론은 알아서 잘 해준다는 것이고, 어떻게 동작하는지는 세세히 알 필요는 분명히 있는 것 같다. </p>
<blockquote>
<p>참고
<a href="https://itcoin.tistory.com/694">https://itcoin.tistory.com/694</a></p>
</blockquote>
]]></description>
        </item>
        <item>
            <title><![CDATA[IntelliJ properties 다국어 번들 지원]]></title>
            <link>https://velog.io/@hailey_/IntelliJ-properties-%EB%8B%A4%EA%B5%AD%EC%96%B4-%EB%B2%88%EB%93%A4-%EC%A7%80%EC%9B%90</link>
            <guid>https://velog.io/@hailey_/IntelliJ-properties-%EB%8B%A4%EA%B5%AD%EC%96%B4-%EB%B2%88%EB%93%A4-%EC%A7%80%EC%9B%90</guid>
            <pubDate>Tue, 27 Sep 2022 03:14:43 GMT</pubDate>
            <description><![CDATA[<p>f4버튼 누르면 각 언어별 bundle 합쳐서 보여줌
언어별 설정이 빠져있으면 빨간줄 표시나옴</p>
<blockquote>
<p>참고 
<a href="https://namocom.tistory.com/769">https://namocom.tistory.com/769</a></p>
</blockquote>
]]></description>
        </item>
        <item>
            <title><![CDATA[List의 중복확인]]></title>
            <link>https://velog.io/@hailey_/List%EC%9D%98-%EC%A4%91%EB%B3%B5%ED%99%95%EC%9D%B8</link>
            <guid>https://velog.io/@hailey_/List%EC%9D%98-%EC%A4%91%EB%B3%B5%ED%99%95%EC%9D%B8</guid>
            <pubDate>Thu, 26 May 2022 23:12:10 GMT</pubDate>
            <description><![CDATA[<h2 id="✔-set-이용하기">✔ set 이용하기</h2>
<p>불필요한 객체생성 꺼려짐</p>
<h2 id="✔-streamdistinct-이용하기">✔ stream.distinct() 이용하기</h2>
<p>: Stream.distinct()은 stream의 중복을 모두 제거합니다.
: Stream.count()는 stream의 사이즈를 리턴합니다.</p>
<p>: 기존의 리스트 크기와 Stream.distinct().count()가 다르다면 리스트에 중복된 요소가 있었다는 것을 의미합니다.</p>
<pre><code>public static void main(String[] args) {

    List&lt;Integer&gt; numList = Arrays.asList(1,1,2,3,4,5);
    if(numList.size() != numList.stream().distinct().count()){
        System.out.println(&quot;중복된 요소가 있습니다! 예외 발생시키기&quot;);
    }
}</code></pre><blockquote>
<p>출처: <a href="https://doing7.tistory.com/145">https://doing7.tistory.com/145</a></p>
</blockquote>
]]></description>
        </item>
        <item>
            <title><![CDATA[API Return]]></title>
            <link>https://velog.io/@hailey_/API-Return</link>
            <guid>https://velog.io/@hailey_/API-Return</guid>
            <pubDate>Thu, 26 May 2022 05:50:27 GMT</pubDate>
            <description><![CDATA[<p>API가 return 할 때
되도록 직관적일 수 있도록
마지막에 담는다.</p>
<p>new Object(결과, 결과2, 결과3)</p>
<p>만약 return이 여러번 있다면 어디 값을 참조해서 넣는지 헷갈리니까..</p>
<p>따라서 결과모델에도 <code>@Data</code> 외<code>@AllArgsConstructor</code>와 <code>@NoArgsConstructor</code> 어노테이션 추가하여 사용</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[List를 ,로 구분된 String으로 변환]]></title>
            <link>https://velog.io/@hailey_/List%EB%A5%BC-%EB%A1%9C-%EA%B5%AC%EB%B6%84%EB%90%9C-String%EC%9C%BC%EB%A1%9C-%EB%B3%80%ED%99%98</link>
            <guid>https://velog.io/@hailey_/List%EB%A5%BC-%EB%A1%9C-%EA%B5%AC%EB%B6%84%EB%90%9C-String%EC%9C%BC%EB%A1%9C-%EB%B3%80%ED%99%98</guid>
            <pubDate>Wed, 25 May 2022 23:06:38 GMT</pubDate>
            <description><![CDATA[<p>굳이 for문 돌지 않고도 <code>StringUtils.join(list, 구분자)</code> 사용</p>
<pre><code>List&lt;string&gt; list = new ArrayList&lt;string&gt;();
list.add(&quot;축구&quot;);
list.add(&quot;야구&quot;);
list.add(&quot;농구&quot;);
String seperatedToComma = StringUtils.join(list, &quot;,&quot;);</code></pre><p><a href="https://zero-gravity.tistory.com/242">https://zero-gravity.tistory.com/242</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[stream과 if문]]></title>
            <link>https://velog.io/@hailey_/stream%EA%B3%BC-if%EB%AC%B8</link>
            <guid>https://velog.io/@hailey_/stream%EA%B3%BC-if%EB%AC%B8</guid>
            <pubDate>Tue, 24 May 2022 22:58:02 GMT</pubDate>
            <description><![CDATA[<p><a href="https://www.whiteship.me/optional-ifpresent/">https://www.whiteship.me/optional-ifpresent/</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[List<Object> to List<String>]]></title>
            <link>https://velog.io/@hailey_/ListObject-to-ListString</link>
            <guid>https://velog.io/@hailey_/ListObject-to-ListString</guid>
            <pubDate>Fri, 20 May 2022 02:17:20 GMT</pubDate>
            <description><![CDATA[<p>java 8 Stream을 활용하여 객체 리스트를 String이나 Integer 형태의 List로 변환 </p>
<pre><code>List&lt;Person&gt; persons = ...
List&lt;String&gt; ids = persons
                    .stream()
                    .map(e -&gt; e.id)
                    .collect(Collectors.toCollection(ArrayList::new));</code></pre><hr>
<p>ref.
<a href="https://knight76.tistory.com/entry/java8-ListObject%EB%A5%BC-ListString%EC%9C%BC%EB%A1%9C-%EB%B3%80%ED%99%98%ED%95%98%EA%B8%B0">김용환 블로그(2004-2020)</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[> No tests found for given includes:]]></title>
            <link>https://velog.io/@hailey_/No-tests-found-for-given-includes</link>
            <guid>https://velog.io/@hailey_/No-tests-found-for-given-includes</guid>
            <pubDate>Thu, 17 Feb 2022 06:34:54 GMT</pubDate>
            <description><![CDATA[<p><a href="https://ddasi-live.tistory.com/35">https://ddasi-live.tistory.com/35</a></p>
<p>settings &gt; Build,Execution,Deployment &gt; Build Tools &gt; Gradle &gt; &quot;Run tests using: IntellJ IDEA&quot; 로 변경</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[org.hibernate.id.IdentifierGenerationException: attempted to assign id from null one-to-one property]]></title>
            <link>https://velog.io/@hailey_/org.hibernate.id.IdentifierGenerationException-attempted-to-assign-id-from-null-one-to-one-property</link>
            <guid>https://velog.io/@hailey_/org.hibernate.id.IdentifierGenerationException-attempted-to-assign-id-from-null-one-to-one-property</guid>
            <pubDate>Mon, 14 Feb 2022 23:44:00 GMT</pubDate>
            <description><![CDATA[<p>C/R/U 등 데이터 연산 시,
연관관계 매핑되어있음에도 해당 엔티티를 함께 저장하지 않는 경우에 에러 발생함</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[java.lang.IllegalArgumentException: Multiple entries with same key]]></title>
            <link>https://velog.io/@hailey_/java.lang.IllegalArgumentException-Multiple-entries-with-same-key</link>
            <guid>https://velog.io/@hailey_/java.lang.IllegalArgumentException-Multiple-entries-with-same-key</guid>
            <pubDate>Fri, 11 Feb 2022 06:44:09 GMT</pubDate>
            <description><![CDATA[<p>getExpresion() 으로 명시하여 모호한 컬럼명 때문에 발생하는 에러로, 어느 엔티티 컬럼인지 명시하여 작성하면 됨</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[ com.querydsl.core.types.QBean ... with modifiers "protected" ]]></title>
            <link>https://velog.io/@hailey_/com.querydsl.core.types.QBean-...-with-modifiers-protected</link>
            <guid>https://velog.io/@hailey_/com.querydsl.core.types.QBean-...-with-modifiers-protected</guid>
            <pubDate>Fri, 21 Jan 2022 06:00:30 GMT</pubDate>
            <description><![CDATA[<p><a href="https://jessyt.tistory.com/13">https://jessyt.tistory.com/13</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[found [text (Types#LONGVARCHAR)], but expecting [varchar(255) (Types#VARCHAR)]]]></title>
            <link>https://velog.io/@hailey_/found-text-TypesLONGVARCHAR-but-expecting-longtext-TypesCLOB</link>
            <guid>https://velog.io/@hailey_/found-text-TypesLONGVARCHAR-but-expecting-longtext-TypesCLOB</guid>
            <pubDate>Tue, 18 Jan 2022 07:14:37 GMT</pubDate>
            <description><![CDATA[<h1 id="시도1-실패">시도1 (실패)</h1>
<pre><code>@Setter
    @Lob
    private String content;</code></pre><p>아래 에러메세지 발생
<code>found [text (Types#LONGVARCHAR)], but expecting [longtext (Types#CLOB)]</code></p>
<h1 id="시도2-성공">시도2 (성공)</h1>
<pre><code>@Setter
    @Column(columnDefinition = &quot;TEXT&quot;)
    private String content;</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[android.jar: 다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다.]]></title>
            <link>https://velog.io/@hailey_/android.jar-%EB%8B%A4%EB%A5%B8-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EA%B0%80-%ED%8C%8C%EC%9D%BC%EC%9D%84-%EC%82%AC%EC%9A%A9-%EC%A4%91%EC%9D%B4%EA%B8%B0-%EB%95%8C%EB%AC%B8%EC%97%90-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EA%B0%80-%EC%95%A1%EC%84%B8%EC%8A%A4-%ED%95%A0-%EC%88%98-%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4</link>
            <guid>https://velog.io/@hailey_/android.jar-%EB%8B%A4%EB%A5%B8-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EA%B0%80-%ED%8C%8C%EC%9D%BC%EC%9D%84-%EC%82%AC%EC%9A%A9-%EC%A4%91%EC%9D%B4%EA%B8%B0-%EB%95%8C%EB%AC%B8%EC%97%90-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EA%B0%80-%EC%95%A1%EC%84%B8%EC%8A%A4-%ED%95%A0-%EC%88%98-%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4</guid>
            <pubDate>Fri, 14 Jan 2022 06:10:07 GMT</pubDate>
            <description><![CDATA[<p>Intellij에서 gradle update 시, 아래와 같은 에러발생</p>
<blockquote>
<p>C:\Users\사용자.gradle\caches\jars-9\4b66041e98de04e71533fba7d0c2d683\android.jar: 다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다.</p>
</blockquote>
<ol>
<li><p>파일 경로 들어가서 삭제 시도. 실행 중 파일이라며 삭제 안됨</p>
</li>
<li><p>인텔리제이 종료 후, 재시작</p>
</li>
</ol>
<p>해결됨</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[TIL] JPA smallint ↔ Short]]></title>
            <link>https://velog.io/@hailey_/TIL-MySQL-smallint</link>
            <guid>https://velog.io/@hailey_/TIL-MySQL-smallint</guid>
            <pubDate>Wed, 05 Jan 2022 07:50:38 GMT</pubDate>
            <description><![CDATA[<p>MySQL의 smallint형을 Entity에 무심코 Integer로 선언하면 오류난다,,</p>
<p>smallint는 Short로 선언할 것</p>
<blockquote>
<p>참고
<a href="https://zetawiki.com/wiki/JPA_DB%EC%9E%90%EB%A3%8C%ED%98%95_%EB%A7%A4%ED%95%91">https://zetawiki.com/wiki/JPA_DB%EC%9E%90%EB%A3%8C%ED%98%95_%EB%A7%A4%ED%95%91</a></p>
</blockquote>
]]></description>
        </item>
        <item>
            <title><![CDATA[java 11 multi-project]]></title>
            <link>https://velog.io/@hailey_/java-11-multi-project</link>
            <guid>https://velog.io/@hailey_/java-11-multi-project</guid>
            <pubDate>Thu, 23 Dec 2021 09:46:46 GMT</pubDate>
            <description><![CDATA[<h1 id="root-project">root project</h1>
<h2 id="1-생성하기">1. 생성하기</h2>
<p><img src="https://images.velog.io/images/hailey_/post/1de5527b-6082-4d5f-83be-1cee8e12a4b1/image.png" alt=""></p>
<h2 id="2-구성">2. 구성</h2>
<p>src 폴더 삭제
<img src="https://images.velog.io/images/hailey_/post/dd6b64e6-e2c0-4b50-995b-d278220a0412/image.png" alt=""></p>
<h1 id="추가-module-구성">추가 module 구성</h1>
<h2 id="1-모듈-추가">1. 모듈 추가</h2>
<p><img src="https://images.velog.io/images/hailey_/post/1ad2f0b6-68ed-41ca-8bf0-9ba98bfa0dff/image.png" alt=""></p>
<p><img src="https://images.velog.io/images/hailey_/post/c95990fb-5c82-47d8-9abd-ad92c16554f8/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[TIL] JPA-Hibernate persist와 save의 차이]]></title>
            <link>https://velog.io/@hailey_/JPA-persist%EC%99%80-save%EC%9D%98-%EC%B0%A8%EC%9D%B4</link>
            <guid>https://velog.io/@hailey_/JPA-persist%EC%99%80-save%EC%9D%98-%EC%B0%A8%EC%9D%B4</guid>
            <pubDate>Thu, 23 Dec 2021 06:56:41 GMT</pubDate>
            <description><![CDATA[<h1 id="save">Save()</h1>
<p>저장 후 생성 된 ID를 반환합니다. 그것의 Serializable반환 형식.
트랜잭션 외부의 DB에 변경 사항을 저장하십시오.
생성 된 ID를 유지중인 엔티티에 할당
분리 된 객체에 대한 Session.save ()는 테이블에 새로운 행을 만듭니다.</p>
<h1 id="persist">Persist()</h1>
<p>저장 후 생성 된 ID를 반환하지 않습니다. void 리턴 타입입니다.
트랜잭션 외부의 DB에 대한 변경 사항을 저장하지 않습니다.
generated id지속중인 엔터티 에을 할당합니다
session.persist()분리 된 객체는 PersistentObjectException허용되지 않으므로 throw 됩니다.</p>
<blockquote>
<p><a href="http://daplus.net/java-hibernate%EC%97%90%EC%84%9C-persist-%EB%8C%80-save-%EC%9D%98-%EC%9E%A5%EC%A0%90%EC%9D%80-%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C/">참고</a></p>
</blockquote>
]]></description>
        </item>
        <item>
            <title><![CDATA[멀티 프로젝트]]></title>
            <link>https://velog.io/@hailey_/%EB%A9%80%ED%8B%B0-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8</link>
            <guid>https://velog.io/@hailey_/%EB%A9%80%ED%8B%B0-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8</guid>
            <pubDate>Thu, 23 Dec 2021 04:37:14 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p><a href="https://github.com/kHeNoTbB/SpringbootExamples/commit/69a7e032c2b769995c28ae9106ecb5be945c378c">🎯 깃헙 코드보기</a></p>
</blockquote>
<blockquote>
<p><a href="https://velog.io/@haerong22/IntelliJ-%EB%A9%80%ED%8B%B0-%EB%AA%A8%EB%93%88-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EB%A7%8C%EB%93%A4%EA%B8%B0">참고한 블로그</a></p>
</blockquote>
]]></description>
        </item>
        <item>
            <title><![CDATA[[JPA] 회원가입 기능개발]]></title>
            <link>https://velog.io/@hailey_/JPA-%ED%9A%8C%EC%9B%90%EA%B0%80%EC%9E%85-%EA%B8%B0%EB%8A%A5%EA%B0%9C%EB%B0%9C</link>
            <guid>https://velog.io/@hailey_/JPA-%ED%9A%8C%EC%9B%90%EA%B0%80%EC%9E%85-%EA%B8%B0%EB%8A%A5%EA%B0%9C%EB%B0%9C</guid>
            <pubDate>Wed, 22 Dec 2021 01:11:26 GMT</pubDate>
            <description><![CDATA[<h1 id="기본-jpa-기능개발-1">기본 JPA 기능개발 #1</h1>
<h2 id="기능개발service-repository">기능개발(@Service, @Repository)</h2>
<blockquote>
<p><a href="https://github.com/kHeNoTbB/SpringbootExamples/commit/11c97ecdb91a5050a4697ceee653f8e05483c81e">🎯 깃헙 코드보기</a></p>
</blockquote>
<h2 id="테스트">테스트</h2>
<blockquote>
<p><a href="https://github.com/kHeNoTbB/SpringbootExamples/commit/d528320a9ba17606fd3cb83909700e60bb4a7466">🎯 깃헙 코드보기</a></p>
</blockquote>
<h2 id="rest-api-테스트">Rest API 테스트</h2>
<blockquote>
<p><a href="https://github.com/kHeNoTbB/SpringbootExamples/commit/99817ad021b8a1a7ad685e115fc1b54ec5bdb6b3">🎯 깃헙 코드보기</a></p>
</blockquote>
<p><img src="https://images.velog.io/images/hailey_/post/c29d1fd7-786b-40cb-9326-f227b7a41a8d/image.png" alt=""></p>
<p>이후 데이터베이스에서 아래와 같이 조회하니</p>
<pre><code>SELECT * FROM MEMBER;</code></pre><p><img src="https://images.velog.io/images/hailey_/post/9a03eded-109a-4dd2-b1f1-1b54ca719870/image.png" alt="">
조회가 잘 됨을 확인</p>
<h1 id="🤔회고">🤔회고</h1>
<p><code>&quot;JSON parse error: Unexpected character (&#39;i&#39; (code 105)):</code> 에러 발생 시, body 부분에 작성한 json 확인하기. 대부분의 경우에는 숫자타입을 String 형태( &quot; &quot; ) 로 태워 보내거나, 필드 또한 &quot; &quot; 를 작성하지 않고 태우는 경우임.
<code>&quot;</code>id<code>&quot;</code> : <code>&quot;</code>kim<code>&quot;</code> 꼭 기억하기</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[JPA] JPA 환경설정]]></title>
            <link>https://velog.io/@hailey_/JPA-JPA-%ED%99%98%EA%B2%BD%EC%84%A4%EC%A0%95</link>
            <guid>https://velog.io/@hailey_/JPA-JPA-%ED%99%98%EA%B2%BD%EC%84%A4%EC%A0%95</guid>
            <pubDate>Tue, 21 Dec 2021 08:23:44 GMT</pubDate>
            <description><![CDATA[<h1 id="jpa--mysql">JPA + MySQL</h1>
<h2 id="1-gradle-설정">1. gradle 설정</h2>
<blockquote>
<p><a href="https://github.com/kHeNoTbB/SpringbootExamples/commit/bdad2b6917672231139f27f71b7d0d9152670847">🎯 깃헙 코드보기</a></p>
</blockquote>
<h2 id="2-mysql-연결설정">2. MySQL 연결설정</h2>
<blockquote>
<p><a href="https://github.com/kHeNoTbB/SpringbootExamples/commit/85a4f8f121aa1671d8d4d5affd7a075c79986a15">🎯 깃헙 코드보기</a></p>
</blockquote>
<p>SpringBoot에서는 WEB-INF/persistence.xml가 아닌 <code>application.properties</code>나 <code>application.yml</code>로 관리한다.</p>
<p>나는 기존 application.properties를 application.yml로 변경하고, 아래 설정내용을 추가했다.</p>
<pre><code>spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/member?serverTimezone=Asia/Seoul
    username: root
    password: toor</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[[JPA] SpringMVC와 SQL 문제점]]></title>
            <link>https://velog.io/@hailey_/JPA-SpringMVC%EC%99%80-SQL-%EB%AC%B8%EC%A0%9C%EC%A0%90</link>
            <guid>https://velog.io/@hailey_/JPA-SpringMVC%EC%99%80-SQL-%EB%AC%B8%EC%A0%9C%EC%A0%90</guid>
            <pubDate>Mon, 20 Dec 2021 08:28:25 GMT</pubDate>
            <description><![CDATA[<p>SpringMVC를 통해 계층 분할을 하게 되면서, 우리는 보통 myBatis(또는 JDBC)를 활용하여 데이터 접근을 하곤했다. 하지만 눈에 보이는 계층분할엔 성공했을지 몰라도, 사실 개발을 하다보면 이게 분할이 맞나 생각이 들게된다.
특히 개발을 하다보면 객체 변화에 따라 SQL 문을 하나하나 변경하거나 추가해줘야 하는 일도 다반사이기 때문에, 100% 신뢰할 수 없다.
따라서 해당 Service의 dao를 활용할때면 SQL 대부분에 들어가보며, 괜찮은ㅇ지 일일이 확인해야 하는 일이 발생된다.</p>
<p>결국 문제점은 아래와 같이 요약할 수 있다.</p>
<blockquote>
<ol>
<li>진정한 의미의 계층 분할이 어렵다.</li>
<li>엔티티를 신뢰할 수 없다.</li>
<li>SQL에 의존적이 개발을 피하기 어렵다.</li>
</ol>
</blockquote>
]]></description>
        </item>
    </channel>
</rss>