Portál AbcLinuxu, 3. května 2025 11:20
public enum Sport { RUN, BIKE, SWIM, DUATLON, TRIATLON; }A v entite
@Enumerated(EnumType.STRING) @Column(name = "Sport", nullable = false) private Sport sport;Kdyz udelam "nenativni" query, ktera selektuje dle tohoto enumu, tak dostanu:
2022-05-30 15:05:34.993 TRACE 41454 --- [nio-8080-exec-3] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [INTEGER] - [2022] 2022-05-30 15:05:34.996 TRACE 41454 --- [nio-8080-exec-3] o.h.type.descriptor.sql.BasicBinder : binding parameter [2] as [VARBINARY] - [SWIM] 2022-05-30 15:05:35.057 WARN 41454 --- [nio-8080-exec-3] o.m.jdbc.message.server.ErrorPacket : Error: 1300-HY000: Invalid utf8mb4 character string: 'ACED00' 2022-05-30 15:05:35.058 WARN 41454 --- [nio-8080-exec-3] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 1300, SQLState: HY000 2022-05-30 15:05:35.058 ERROR 41454 --- [nio-8080-exec-3] o.h.engine.jdbc.spi.SqlExceptionHelper : (conn=77) Invalid utf8mb4 character string: 'ACED00'Problem je IMHO binding VARBINARY, protoze v DB je sloupec vytvoren jaka VARCHAR(255). Prelozena query v cmd klientu po dopneni parametru funguje. Co s tim?
Řešení dotazu:
Sport=:sportspravne melo byt:
r.sport=:sport
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.