inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

Runtime Error

미해결

Next.js App router 기반 Chat GPT 만들기

// db/index.ts 코드 내용 import { neon } from '@neondatabase/serverless'; import { drizzle } from 'drizzle-orm/neon-http'; import * as schema from './schema'; const sql = neon(process.env.DATABASE_URL!); const db = drizzle(sql, {schema}); export default db; // action/signup.ts 내용 "use client"; import bcrypt from "bcryptjs"; import { getUserByEmail } from "@/data/user"; import { SignUpSchema } from "@/schemas/auth"; import { user } from "@/db/schema"; import db from "@/db"; import { redirect } from "next/navigation"; export const signUp = async(_:any, formData:FormData) => { //1. 필드 중요성 const validatedFields = SignUpSchema.safeParse({ name: formData.get("name"), email: formData.get("email"), password: formData.get("password") }) if(!validatedFields.success){ return { errorMessages: "잘못된 입력값이 있습니다.", }; } //2. 존재하는 사용자인지 체크 const {email, name, password} = validatedFields.data; //4. 성공 여부 반환 try { const existingUser = await getUserByEmail(email); if(existingUser){ return { errorMessages: "이미 가입된 사용자입니다.", }; } const hasehdPassword = await bcrypt.hash(password, 10); //3. db에 insert await db.insert(user).values({name, email, password: hasehdPassword}); } catch(error) { console.error(error) return {errorMessage: "알 수 없는 오류가 발생했습니다."}; } redirect("/login"); }; 회원가입 마무리 코드를 다 입력하고 저장한 뒤에 사이트를 확인했는데, 이런 오류가 납니다. DATABASE URL이 잘못됐나 싶어서 다시 확인해봤지만 이상이 없었습니다. 이전 강의인 회원가입 유효성 검사 기능 제작까지 문제가 없었는데, 문제 해결이 되지 않아 질문 남겨봅니다....

  • react
  • typescript
  • next.js
  • tailwindcss
  • zustand
  • chatgpt
이다민 댓글 2 좋아요 0 조회수 213

그래들 오류

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 저는 Gradle - Groovy / 3.4.1 / open JDK 17 / 이클립스-STS4 로 강의를 설정하려 하는데 계쏙 오류가 나서 질문드려봅니다. 메이븐으로 설정할 시에는 위와 같은 옵션 및 이클립스에서 서버 구동까지 문제없이 잘 되는데 그래들로 하는경우 계속 오류가 나서 프로젝트가 설정되지 않습니다. 그래들로 할 경우 인텔리제이로 해야하는건가요??

  • java
  • spring
  • mvc
  • spring-boot
jeongho lee 댓글 1 좋아요 0 조회수 159

sum+=arr[i] 합계 문의

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

14:28 부분인데요 밑에 어느분이 합계 25로 나왓는데 이해가 안간다는 글을 봣습니다. 저도 결과는 다르지만 이 부분이 이해가 안됩니다. for문으로 수행될때.... sum=+arr[i] 1 0 1 3 1 2 6 3 3 10 6 4 i=5는 수행이 안됨 이렇게 해서 sum값이 10이 안될까요? 왜 1+2+3+4+5 의 값 15가 되는지 이해가 안되네요

  • python
  • java
  • c
  • 정보처리기사
dbgud85 댓글 2 좋아요 0 조회수 174

Full route cache 질문있습니다.

해결됨

한 입 크기로 잘라먹는 Next.js

안녕하세요, 해당과같이 Dynamic page에서는 full route cache가 사용되지 않는다고 설명해주셨습니다. 이때, 첫번째 요청에서는 리퀘스트 메모이제이션과 데이터캐시가 당연히 아무것도 없기때문에 백엔드 서버에서 받아온 응답을 데이터캐시에 저장, 그리고 같은 내용을 중복방지를 위해 리퀘스트 메모이제이션에 캐싱하는거까진 알겠습니다. 그런데 두번쨰 요청에서는 같은 요청인데 리퀘스트 메모이제이션에서 MISS가 아닌 HIT을 해야하지 않나요? 왜 같은 요청인데 리퀘스트 메모이제이션은 MISS가 되고 데이터캐시에서 HIT을 하게되고 또다시 리퀘스트 메모이제이션에 SET을 하게 되는걸까요?

  • react
  • typescript
  • next.js
codingforfun 댓글 2 좋아요 0 조회수 209

프로젝트 생성해서 intellij에서 열었는데 오류

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 내용] 쌤, 이렇게 프로젝트를 생성했는데, 오류가 납니다. ㅠㅠ 뭘 해줘야할까요? 프로젝트 지우고 다시 generate해서 압축 풀고 build.gradle로 열어도 또 똑같은 오류가 납니다 ㅠㅠ!

  • java
  • spring
  • mvc
  • spring-boot
kabsung lee 댓글 1 좋아요 0 조회수 202

Route Handler 에서 Post 코드 작성해봤는데 계속 에러가 납니다 ㅠㅠ

미해결

Next.js App router 기반 Chat GPT 만들기

제가 수업을 기반으로 작성한 코드는 다음과 같습니다. import { NextResponse } from "next/server"; export async function POST(request: Request, {params}: {params: {testId: string}}){ const userData = await request.json(); console.log("server user data", userData); console.log("server param", params.testId); return NextResponse.json({message: "사용자가 성공적으로 생성되었습니다."}); } "use client"; export default function Page({params} : {params: {id:string}}){ const handlerSubmit = async (e:React.FormEvent) => { const response = await fetch('/api/test/1234', { method: "POST", headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({name: 'test name', email: 'test email'}), }); console.log(e); const data = await response.json(); console.log("response data", data); } return (<>다이나믹 라우트 페이지: {params.id} <button type="submit" onClick={handlerSubmit}> 전송 </button> </>); } 에러 메시지는 다음과 같습니다. ✓ Compiled /dashboard/[id] in 1716ms (597 modules) Error: Route "/dashboard/[id]" used `params.id`. `params` should be awaited before using its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis at id (c:\study\chatgpt-clone\next-tutorial\app\dashboard\[id]\page.tsx:21:36) 19 | 20 | > 21 | return (<>다이나믹 라우트 페이지: {params.id} | ^ 22 | <button 23 | type="submit" 24 | onClick={handlerSubmit}> GET /dashboard/12345 200 in 2989ms ✓ Compiled /favicon.ico in 406ms (331 modules) GET /favicon.ico 200 in 543ms ✓ Compiled /api/test/[testId] in 337ms (614 modules) server user data { name: 'test name', email: 'test email' } Error: Route "/api/test/[testId]" used `params.testId`. `params` should be awaited before using its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis at testId (c:\study\chatgpt-clone\next-tutorial\app\api\test\[testId]\route.ts:6:39) 4 | const userData = await request.json(); 5 | console.log("server user data", userData); > 6 | console.log("server param", params.testId); | ^ 7 | 8 | return NextResponse.json({message: "사용자가 성공적으로 생성되었습니다."}); 9 | } server param 1234 POST /api/test/1234 200 in 1402ms 응답은 잘 되는데, 동기? 비동기? 이쪽부분에서 문제가 있는 것 같습니다.. ㅠㅠ 영상이랑 똑같이 따라한 것 같은데.. 뭐가 문제인건지 감이 안잡히네요 ㅠㅠ (혹시 추가로 필요한 코드가 있다면 말씀해주세요 ㅠㅠ )

  • react
  • typescript
  • next.js
  • tailwindcss
  • zustand
  • chatgpt
수하 댓글 2 좋아요 0 조회수 290

멀티 모듈 방식 질문입니다.

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

안녕하세요 강의 잘 듣고 있습니다. 현재 게시글 조회수 부분 보고있는데요 헷갈리는게 있습니다. 멀티 모듈 방식 이라 aricle과 view 모듈이 나눠져 있는데요 현재는 게시글 조회 api와 게시글 조회수 증가 api가 나뉘어져 있는거같은데요 프론트에서 게시글 조회 시 이 2개의 api를 사용하는 걸까요? 게시글 조회 api에서 게시글 조회 -> redis 조회수 1 증가 이렇게 하나의 api가 아니라 실무에서도 api를 나누는 방식으로 진행하는걸까요?

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
qheogus55 댓글 2 좋아요 2 조회수 341

ERD 설계 질문

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

숨고와 같은 구인 구직 사이트인데 특정 작물에 대한 전문가와 매칭해주고 견적이 나오는 서비스를 프로젝트로 만들려고 생각중입니다. 이렇게 종류를 선택하면(위에 사진1에서 아래 사진2으로 넘어감니다.) 서비스일 경우 이런 카테고리는 따로 erd를 만들어 주어야 하나요? 아니면 enum으로 빼는 건지 감이 정말 1도 안 잡혀서 질문 드립니다. 견적 엔티티 를 이런식으로 만들고 컨설팅 형태 이런 것도 enum으로 만드나요? 나머지는 속성값으로 들어가는 것은 알고 습니다.) 그리고 맨 밑에 경우 만약 사진하고 글을 같이 첨부해서 컨설팅 내용을 신청할경우 이것도 erd로 따로 빼 놓나요?( aws 로 작업할경우 s3로 이미지만 따로 저장하는 것은 알 고 있습니다.)

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
KMC 댓글 2 좋아요 0 조회수 216

맥북에서 ._Var8.java와 같이 ._*파일이 계속 생겨 오류가 생깁니다.

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 아니오. 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 실습중 맥북에서 ._Var8.java와 같이 ._*파일이 계속 생겨 오류가 생깁니다. 맥북 M1입니다. 혹시 해결하는 법도 알 수 있을까요..?

  • java
  • 객체지향
ehskstkrjsa 댓글 2 좋아요 0 조회수 153

마우스이벤트 형식이 제네릭이아닙니다 오류 해결 못하고 있습니다 어떤 거 인지 알 수 잇을까여?

해결됨

[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스

import { ChangeEvent, useState } from "react"; // 리팩토링 const Board = () => { const [writer, setWriter] = useState(""); const [title, setTitle] = useState(""); const [content, setContent] = useState(""); const [isActive, setIsActive] = useState(false); const onChangewriter = (event:ChangeEvent<HTMLInputElement>) => { setWriter(event.target.value); if (event.target.value !== "" && title && content) return setIsActive(true); setIsActive(false); }; const onChangeTitile = (event:ChangeEvent<HTMLInputElement>) => { setTitle(event.target.value); if (writer && event.target.value && content) return setIsActive(true); setIsActive(false); }; const onChangeContent = (event:ChangeEvent<HTMLInputElement>) => { setContent(event.target.value); if (writer && title && event.target.value) return setIsActive(true) setIsActive(false); }; const onClickSubmit = (event:MouseEvent<HTMLButtonElement>) => [ console.log(writer), console.log(title), console.log(content), alert("게시물 등록이 완료되었습니다"), ]; return ( <> 작성자 : <input type="text" onChange={onChangewriter} /> <br /> 제목 : <input type="text" onChange={onChangeTitile} /> <br /> 내용: <input type="text" onChange={onChangeContent} /> <br /> <button onClick={onClickSubmit} style={{ backgroundColor: isActive === true ? "yellow" : "none" }} > 등록 </button> </> ); }; export default Board;

  • react
  • react-native
  • 하이브리드-앱
  • graphql
  • next.js
이 규성 댓글 2 좋아요 0 조회수 140

마우스이벤트 형식이 제네릭이아닙니다 오류 해결 못하고 있습니다 어떤 거 인지 알 수 잇을까여?

해결됨

[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스

import { ChangeEvent, useState } from "react"; // 리팩토링 const Board = () => { const [writer, setWriter] = useState(""); const [title, setTitle] = useState(""); const [content, setContent] = useState(""); const [isActive, setIsActive] = useState(false); const onChangewriter = (event:ChangeEvent<HTMLInputElement>) => { setWriter(event.target.value); if (event.target.value !== "" && title && content) return setIsActive(true); setIsActive(false); }; const onChangeTitile = (event:ChangeEvent<HTMLInputElement>) => { setTitle(event.target.value); if (writer && event.target.value && content) return setIsActive(true); setIsActive(false); }; const onChangeContent = (event:ChangeEvent<HTMLInputElement>) => { setContent(event.target.value); if (writer && title && event.target.value) return setIsActive(true) setIsActive(false); }; const onClickSubmit = (event:MouseEvent<HTMLButtonElement>) => [ console.log(writer), console.log(title), console.log(content), alert("게시물 등록이 완료되었습니다"), ]; return ( <> 작성자 : <input type="text" onChange={onChangewriter} /> <br /> 제목 : <input type="text" onChange={onChangeTitile} /> <br /> 내용: <input type="text" onChange={onChangeContent} /> <br /> <button onClick={onClickSubmit} style={{ backgroundColor: isActive === true ? "yellow" : "none" }} > 등록 </button> </> ); }; export default Board;

  • react
  • react-native
  • 하이브리드-앱
  • graphql
  • next.js
이 규성 댓글 1 좋아요 0 조회수 77

채팅서버가 2개일때 서버간 socketManager 공유방법

미해결

김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션

안녕하세요. 해당 강의에서는 채팅 서버가 하나지만 만약 채팅서버를 2개 운영한다고 가정했을때 (A.jar, B.jar) 배포를 위해 A jar 를 내리고 다시 올릴때 서버가 내려가기전 A jar 의 socket 객체정보를 B jar 로 보내려면 어떤 방법을 사용해야할까요? socket 을 직렬화해서 보내려고 했는데 socket 은 제가 만든 클래스가 아니다보니 Serializable 를 상속받지못해 불가능할것같은데.. 실무에서는 채팅 이중화서버운영 무중단 배포를 어떤식으로 하는지 궁금합니다 ㅠㅠ .. 강의보다 심화된 내용이지만 해당 부분에 대한 지식을 쌓기가 힘들어서 글을 작성하게 되었습니다. 감사합니다.

  • java
  • 네트워크
  • 객체지향
backendman 댓글 2 좋아요 0 조회수 345

OrderController 에서 {orderId} 경로변수 질문

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 강의를 듣던 중 궁금한 내용이 생겨 질문합니다. <td> <a th:if="${item.status.name() == 'ORDER'}" href="#" th:href="'javascript:cancel('+${item.id}+')'" class="btn btn-danger">CANCEL</a> </td> function cancel(id) { var form = document.createElement("form"); form.setAttribute("method", "post"); form.setAttribute("action", "/orders/" + id + "/cancel"); document.body.appendChild(form); form.submit(); } 위 자바 스크립트 코드를 보면, post 방식으로 전송할때, item.id 를 cancel 함수의 매개변수로 전달하고, 이 item.id 가 /orders/id/cancel 에 들어갑니다. @PostMapping("/orders/{orderId}/cancel") public String cancelOrder(@PathVariable Long orderId){ orderService.cancelOrder(orderId); return "redirect:/orders"; } 반면에 , OrderController 의 위 메소드에서는 , 경로변수가 {orderId} 로 설정이 되어있습니다. 왜 itemId 를 받아와서 orderId 로 사용하는 것인지 궁금합니다. 만약 그것이 아니라면 제가 어떤 부분을 놓치고 있는 것인지 궁금합니다.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
rookie21 댓글 3 좋아요 0 조회수 162

강의자료 파워포인트 기준 361~362 페이지를 보면

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

이렇게 나타나고 있는데요. path > '00a0z' 아닌가요??

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
리나 댓글 1 좋아요 1 조회수 132

static2.ex 첫번째 문제

미해결

김영한의 실전 자바 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. Car 클래스 안에 this.carName안에 왜 굳이 carName을 할당했는지 잘 이해가 가지 않습니다. private String carName가 사용되지 않아서 변수 선언도 불필요하다고 생각됩니다.

  • java
  • 객체지향
flamewizkey 댓글 1 좋아요 0 조회수 110

openJDK 23 설치

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

OpenJDK 21이 없어서 Temurin을 다운 받았는데, 위의 메시지가 뜹니다. 강의 수강에는 딱히 문제가 되지 않나요?

  • java
  • 객체지향
mm4884 댓글 2 좋아요 0 조회수 868

프록시 객체 질문 있습니다.

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

em.getReference() 를 호출하면, 프록시 객체를 1차 캐시에 저장하고, 해당 프록시 객체를 반환 em.find() 를 호출하면, 실제 엔티티 객체를 생성하고 프록시 객체를 초기화 이런식으로 동작하는데 2번 과정에서 생성된 실제 엔티티 객체는 1차 캐시에 저장되는지 안되는지가 궁금합니다 초기화된 프록시 객체에서 setXXX() 같은 메서드를 호출하면 프록시 객체에 연결된 실제 엔티티의 setXXX() 메서드가 호출될텐데, 이런 경우 update 쿼리가 나가는 것을 보니까 실제 엔티티를 영속성 컨텍스트에서 관리해주고 있는 것 같긴한데 프록시 객체와 실제 엔티티 객체의 id값이 같은데 1차 캐시에 두 개 다 저장되는게 맞는건가 싶어서 질문드립니다.

  • java
  • jpa
eoyeong 댓글 2 좋아요 0 조회수 195

타입캐스팅 궁금한점 질문드립니다.

미해결

자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 코틀린을 처음 접해봤습니다. 질문이 이상하더라도 양해를 구하며 상세히 알려주시면 정말 감사하겠습니다. fun printAgeIfPerson(obf:Any?){ val person = obj as? Person ...... } 여기서 질문 드립니다. 앞에서 변수 선언을 할 때 val,var을 배웠는데, 매개변수를 선언하는 부분에서 obf:Any? 대신에 val obj:Any?로는 안 쓰나요? 앞에서 모든 변수에는 var/val 을 붙여서 선언한다고 하셨어서요. obj는 매개변수에서 선언된 변수 아닌가요? 2.위 코드에서 obj as? Person 의 값이 결과값 또는 null로 나온다고 하셨는데, 그렇게 되면 lvalue인 val person에도 null이 들어갈 여지가 있으므로 val person? 나 val person:Person?으로 선언이 되어야 하는 것 아닌가요? 자바와 다른 점이 많아서 헷갈립니다.

  • java
  • kotlin
  • 객체지향
costco8255 댓글 2 좋아요 1 조회수 263

묵시적 조인이 안일어나는 이유

해결됨

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 13:50 쯤에 oi.order.id 부분에서 묵시적 조인이 안일어나는 이유가 orderItem에서 order로가는 외래키가 있어서가 맞나요? 다른 필드에 접근하면 묵시적 조인이 일어나는지 궁금합니다.

  • java
  • spring
  • spring-boot
  • jpa
세자 댓글 1 좋아요 0 조회수 135

ArticleRepository의 네이티브 쿼리부분 질문드립니다...

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

안녕하세요~~ 강의 너무 잘 듣고 있는 1인입니다. 다름이 아니라 네이티브 쿼리 작성 부분에서 에러가 나는데 이게 이곳저곳 찾아봐도 해결이 안돼서요ㅠㅠ 자꾸 아래 부분에서 에러가 납니다... 참고로 툴은 vscode로 spring extension받아서 사용중입니다... LIMIT :limit OFFSET :offset " @Query( value = "SELECT article.article_id, article.title, article.content, article.board_id, article.writer_id, " + "article.created_at, article.modified_at " + "FROM ( " + " SELECT article_id " + " FROM article " + " WHERE board_id = :boardId " + " ORDER BY article_id DESC " + " LIMIT :limit OFFSET :offset " + ") t " + "LEFT JOIN article ON t.article_id = article.article_id", nativeQuery = true ) List<Article> findAll( @Param("boardId") Long boardId, @Param("offset") Long offset, @Param("limit") Long limit );

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
janggoni 댓글 3 좋아요 0 조회수 351

인기 태그

인프런 TOP Writers

주간 인기글