Для расширения типов Hibernate использую vladmihalcea/hibernate-types
@Entity
@TypeDef(
name = "jsonb-node",
typeClass = JsonStringType.class
)
public class Catalog {
...
@Type( type = "jsonb-node" )
@Column(columnDefinition = "json")
public ArrayNode tags;
}
При преобразовании JSON объекта из MySQL в ArrayNode, символы UTF8 преобразуются не корректно
List<Catalog> catalog = em.createNativeQuery(
"select * "
+ "from Catalog c "
+ "where name regexp('"+nameRegExpr+"*') "
+ "and isTemplate=true"
,Catalog.class
)
.getResultList();
В результате получаю строку вида {"key":"??????????"}
Байты строки 7B226B6579223A223F3F3F3F3F3F3F3F3F3F227D
Исходные данные в MySQL хранятся правильно
[ { "key" : "новый" } ]
Байты 5b0a097b0a0909226b657922203a2022d0bdd0bed0b2d18bd0b9220a097d0a5d
Как правильно настроить преобразование типов?
UPD. Настройки подключения Hibernate
<persistence 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_1.xsd"
version="2.1">
<persistence-unit name="defaultPersistenceUnit" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<non-jta-data-source>DefaultDS</non-jta-data-source>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" />
<property name="hibernate.hbm2ddl.auto" value="update" />
</properties>
</persistence-unit>
</persistence>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
У меня есть самый простой, насколько это возможно, XML-файл
Мне необходимо выполнить поиск bluetooth устройств внутри привязанной службы (bounded service) с помощью функции startdiscoveryДля этого надо установить broadcast...