inflearn logo
강의

講義

知識共有

Java ORM標準JPAプログラミング - 基本編

JPQL 関数

registerFunction() 쓸수 없음

解決済みの質問

1327

merci7263822 [DEL] 250523153236

投稿した質問数 0

0

1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
registerFunction()을 쓸수 없습니다. 참고로 하이버네이트는 6.0.0.Alpha 7버전을 쓰고 있구요. 혹시라해서 버전을 5.6.10.Final로 바꾸면 쓸수 있더라구요. JPA공부하면서 6.0.0.Alpha 7버전을 쭉 쓰고 있는데 그런데 문제는 한 번도 안 생겼어요. 이 부분에서 궁금한점은 요즘에 JPAL함수 이렇게 사용 안 하시나요? 버전별H2Dialect클래스에 들어가면 이부분이 많이 바꿔있더라구요. 그래서 실무에서는 보통 final버전만 쓰는 건가요? 물론 강의는 2019년 기준이라서 그때는 alpha버전 없지만. 햇갈리네요^^. 저는 최신버전이면 쓰는 것이 좋을것 같아서. 그리고 alpha버전은 도데체 정식 버전인가요. 아니면 테스트중인 버전인가요.

JPA java

回答 2

1

ewndks

저도 같은 문제 있었는데 다음과 같이 migration 하니 되네요 참고하시길.

MyH2Dialect.class

public class MyH2Dialect extends H2Dialect {

    @Override
    public void contributeFunctions(FunctionContributions functionContributions) {
        functionContributions
                .getFunctionRegistry()
                .register("group_concat",
                        new StandardSQLFunction("group_concat", StandardBasicTypes.STRING));
    }

}

근데 이외에도 Member에 @Id @GeneratedValue(strategy = GenerationType.IDENTITY)로 고치고, persistence.xml을 다음과 같이 고쳐야 됩니다.

Member.class

@Entity
@Getter
@Setter
public class Member {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    // 이하 생략
}

persistence.xml

<property name="hibernate.dialect" value="hellojpa.dialect.MyH2Dialect"/>

 

또한 pom.xml에 hibernate-entitymanager dependency를 5.6.15.Final 버전 추가해줬습니다.

h2 버전은 2.2.220 사용했습니다.

 

1

OMG

안녕하세요. Sunghyuk Lee님, 공식 서포터즈 OMG입니다.

메이저버전이 바뀔 때 큰 변화가 있는 편인데 JPQL 이랑 H2에서 변화가 있었나 보네요.

강의 수강은 5.x로 진행해주세요.

 

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>jpa-basic</groupId>
    <artifactId>ex1-hello-jpa</artifactId>
    <version>1.0.0</version>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>
                    8</source>
                    <target>8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>        <!-- JPA 하이버네이트 -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>5.4.29.Final</version>
        </dependency>
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.1</version>
        </dependency>        <!-- H2 데이터베이스 -->
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>1.4.200</version>
        </dependency>        <!-- logback -->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.3</version>
        </dependency>
    </dependencies>
</project>

 

실무에서는 안정화된 release 버전을 사용합니다.

알파 버전은 개발 초기에 있어 성능이나 사용성 등을 평가하기 위한 테스터나 개발자를 위한 버전입니다.

 

감사합니다.

0

merci7263822 [DEL] 250523153236

감사합니다. ^^

실무 조언 관련 질문입니다.

0

41

1

H2데이터베이스 파일 생성

0

49

2

서브쿼리 강의에서 ALL 예시 관련 질문드립니다.

0

49

2

수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?

0

47

1

JPQL 메소드와 락

0

50

1

Delivery @OneToOne

0

57

1

17강 4~5분대 테이블 값 조회가 안됩니다.

0

87

2

UnsupportedOperationException 발생

0

82

3

H2 Database 연결이 안됩니다.

0

87

2

연관관계 매핑 질문드립니다.

0

81

2

h2데이터베이스 실행오류

0

104

2

persistence.xml

0

102

2

양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?

0

77

1

영속성 컨텍스트

0

62

1

JPA 프록시

0

89

1

Native Query와 MyBatis

0

63

1

영속성 컨텍스트는 어떤 메모리에 저장되는건가요?

0

82

1

임베디드 타입 예시 코드 관련 질문

0

112

3

명시적 조인에서 별칭을 주면 왜 객체에 접근할 수 있나요

0

90

3

인텔리제이 패키지 커서 단축키 질문

0

106

2

혹시 현재는 ID 데이터 타입이 String이면 안되나요?

0

135

1

양방향 연관관계 시 연관관계 주인을 설정하는 이유

0

68

1

임베디드 타입과 MappedSuperClass의 차이점이 궁금합니다.

0

95

1

데이터베이스가 초기화되는 것 같아요

1

175

2