#java #list #mybatis
Вопрос:
Я хочу вставить список в столбец, который имеет тип массива. Похоже, это хорошо работает, но я не могу понять, как правильно читать эту колонку.
Стол:
CREATE TABLE person_login_password ( person_id VARCHAR(100) NOT NULL, login VARCHAR(100) NOT NULL UNIQUE, password VARCHAR(100) NOT NULL, roles ARRAY NOT NULL );
Вставить запрос:
lt;insert id="registerAccount"gt; INSERT INTO person_login_password (person_id, login, password, roles) VALUES (#{id}, #{login}, #{password}, #{roles}) lt;/insertgt;
Выберите запрос:
lt;select id="getAccountInfo" resultMap="LoginMap"gt; SELECT * FROM person_login_password WHERE login = #{login}; lt;/selectgt;
Карта результатов:
lt;resultMap id="LoginMap" type="ru.tinkoff.kurs.components.PersonDTO"gt; lt;result property="id" column="person_id"/gt; lt;result property="password" column="password"/gt; lt;result property="login" column="login"/gt; lt;collection property="roles" column="roles" javaType="List" ofType="String"/gt; lt;/resultMapgt;
Хотя исходный список есть ["USER", "ASDDASD"]
, вывод обычно выглядит так:
"roles": ["8e51705a-28bf-474e-a231-0d44198bfeab"]
Есть ли какая-нибудь подсказка, как это исправить?
Комментарии:
1. Пожалуйста, добавьте версии БД и драйверов.