Код: Выделить всё
StringBuilder sqlQuery = new StringBuilder("SELECT this_.id as id, this_.number_of_hours as number_of_hours, this_.date_start as date_start, this_.date_end as date_end, this_.date_created as date_created, this_.obsolete as obsolete FROM (");
sqlQuery.append(" select tt.* from employee_tracking tt ")
.append(" inner join contract c on tt.contract_id=c.id ")
.append(" where tt.obsolete = :OBSOLETE ");
// UNION
sqlQuery.append(" UNION ");
sqlQuery.append(" select tt_.* from employee_tracking tt_ ")
.append(" inner join contract_extension ce_ on tt_.contract_extension_id=ce_.id ")
.append(" where tt_.obsolete = :OBSOLETE ");
sqlQuery.append(") AS this_ ORDER BY id ASC ");
SQLQuery query = getSessionFactory().getCurrentSession().createSQLQuery(sqlQuery.toString());
query.setParameter("OBSOLETE", 0);
query.addEntity(EmployeeTracking.class);
List lst = query.list();
Код: Выделить всё
WARN SqlExceptionHelper - SQL Error: 3854, SQLState: HY000
ERROR SqlExceptionHelper - Cannot convert string '\xAC\xED\x00\x05~r...' from binary to utf8mb3
Код: Выделить всё
mysql> use lambda;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
+--------------------------+--------------------+
| Variable_name | Value |
+--------------------------+--------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb3 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8mb3 |
| collation_connection | utf8mb4_0900_ai_ci |
| collation_database | utf8_danish_ci |
| collation_server | utf8mb4_0900_ai_ci |
+--------------------------+--------------------+
10 rows in set (0,00 sec)
mysql> SELECT CCSA.character_set_name FROM information_schema.`TABLES` T, information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA
-> WHERE CCSA.collation_name = T.table_collation AND T.table_schema = "lambda" AND T.table_name = "employee_tracking";
+--------------------+
| CHARACTER_SET_NAME |
+--------------------+
| utf8mb4 |
+--------------------+
1 row in set (0,01 sec)
Код: Выделить всё
jdbc:mysql://localhost:3306/lambda?jdbcCompliantTruncation=false&serverTimezone=Europe/Berlin&allowPublicKeyRetrieval=true&useSSL=false&zeroDateTimeBehavior=round
Код: Выделить всё
~ % /usr/local/mysql/bin/mysql --version
/usr/local/mysql/bin/mysql Ver 8.0.27 for macos11 on x86_64 (MySQL Community Server - GPL)
Подробнее здесь: https://stackoverflow.com/questions/725 ... to-utf8mb3
Мобильная версия