dev/JPA 기본
JPQL 기본 함수 , @OrderColumn
dev_0hoon
2024. 2. 20. 19:41
function 등록해서 사용하기
public class MyH2Dialect extends H2Dialect {
//function 등록
public MyH2Dialect() {
registerFunction("group_concat",new StandardSQLFunction("group_concat", StandardBasicTypes.STRING));
}
}
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.2"
xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd">
<persistence-unit name="hello">
<properties>
<!-- 필수 속성 -->
<property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/>
<property name="javax.persistence.jdbc.user" value="sa"/>
<property name="javax.persistence.jdbc.password" value=""/>
<property name="javax.persistence.jdbc.url" value="jdbc:h2:tcp://localhost/~/jbook77"/>
<property name="hibernate.dialect" value="dialect.MyH2Dialect"/>
persistence.yml에 등록해준다.
String query = "select function('group_concat',m.username) from Member m ";
List<String> resultList = em.createQuery(query).getResultList();
이렇게 사용이 가능해진다.