Ответ 1
О concat
: он работает точно так же, как и в MySQL (он объединяет строки, это не агрегатная функция).
Вы можете добавить group_concat
в качестве функции sql для вашей конфигурации. Таким образом, вы предполагаете, что базовая БД знает эту функцию, и вы привязываете свою программу к MySQL.
import org.hibernate.cfg.Configuration;
import org.hibernate.dialect.function.StandardSQLFunction;
import org.hibernate.type.StringType;
// ...
myConf.addSqlFunction("group_concat", new StandardSQLFunction("group_concat", new StringType()));
Вы также указываете, что вывод функции является строкой. Без этого, когда вы group_concat
числовые поля Hibernate будет считать результат также числовым и аварийным.