programing

데이터베이스에서 JPA를 사용하여 쉼표로 구분된 값을 얻는 방법

muds 2023. 8. 24. 22:30
반응형

데이터베이스에서 JPA를 사용하여 쉼표로 구분된 값을 얻는 방법

여기에 이미지 설명 입력

현재 데이터베이스 데이터를 가져오는 데 문제가 있었습니다.이는 fileIdx 열이 쉼표로 구분된 값이었기 때문입니다.

문제는..

Caused by: java.sql.SQLException: Out of range value for column 'fileidx7_4_' : value 322,323
    at org.mariadb.jdbc.internal.com.read.resultset.rowprotocol.TextRowProtocol.getInternalLong(TextRowProtocol.java:349)
    at org.mariadb.jdbc.internal.com.read.resultset.SelectResultSet.getLong(SelectResultSet.java:1001)
    at org.mariadb.jdbc.internal.com.read.resultset.SelectResultSet.getLong(SelectResultSet.java:995)
    at com.zaxxer.hikari.pool.HikariProxyResultSet.getLong(HikariProxyResultSet.java)
    at org.hibernate.type.descriptor.sql.BigIntTypeDescriptor$2.doExtract(BigIntTypeDescriptor.java:63)
    at org.hibernate.type.descriptor.sql.BasicExtractor.extract(BasicExtractor.java:47)
    at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:257)
    at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:253)
    at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:243)
    at org.hibernate.type.AbstractStandardBasicType.hydrate(AbstractStandardBasicType.java:329)
    at org.hibernate.type.ManyToOneType.hydrate(ManyToOneType.java:184)
    at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:3088)
    at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1907)
    at org.hibernate.loader.Loader.hydrateEntityState(Loader.java:1835)
    at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1808)
    at org.hibernate.loader.Loader.getRow(Loader.java:1660)
    at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:745)
    at org.hibernate.loader.Loader.getRowsFromResultSet(Loader.java:1044)
    at org.hibernate.loader.Loader.processResultSet(Loader.java:995)
    at org.hibernate.loader.Loader.doQuery(Loader.java:964)
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:350)
    at org.hibernate.loader.Loader.doList(Loader.java:2887)
    ... 108 more

이것은 나의 실체 ↓↓↓↓↓입니다.

@Entity
public class Board {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long idx;
    private Long code;
    private Long adminIdx;
    private String write;
    private String title;
    private String content;
    private String fileIdx;
    private String deleted;
    @Column(name = "sDate")
    private Long sdate;
    @Column(name = "eDate")
    private Long edate;
    private Long regdate;

JPQL을 사용한 나의 JpaRepository Method입니다 ↓↓↓↓↓

    @Query(value = "select b from Board b")
    List<Board> getTest();

내 테스트 코드 ↓↓↓↓↓입니다.

    @Test
    public void test(){
        List<Board> shopBoardEntity = boardRepository.getTest();
        shopBoardEntity.forEach(o -> {
            System.out.println("dddd : " + o.getTitle());
        });

    }

아무리 노력해도 모르겠어요..생각나는 사람?

언급URL : https://stackoverflow.com/questions/65070249/how-to-get-comma-separated-value-using-jpa-in-database

반응형