@Test void convertToEntityAttribute() { }
@Override public List<U> convertToEntityAttribute(String dbData) { try { return new Json(dbData).get(getTypeReference()); } catch (IOException e) { throw new IllegalArgumentException("Failed to parse list from Json.", e); } }
ListToString implements AttributeConverter<List<U>, String> { @Override public List<U> convertToEntityAttribute(String dbData) { try { return new Json(dbData).get(getTypeReference()); } catch (IOException e) { throw new IllegalArgumentException("Failed to parse list from Json.", e); } } }
ListToString implements AttributeConverter<List<U>, String> { @Override public List<U> convertToEntityAttribute(String dbData) { try { return new Json(dbData).get(getTypeReference()); } catch (IOException e) { throw new IllegalArgumentException("Failed to parse list from Json.", e); } }  }
ListToString implements AttributeConverter<List<U>, String> { @Override public List<U> convertToEntityAttribute(String dbData) { try { return new Json(dbData).get(getTypeReference()); } catch (IOException e) { throw new IllegalArgumentException("Failed to parse list from Json.", e); } }  abstract TypeReference<List<U>> getTypeReference(); @Override String convertToDatabaseColumn(List<U> entityData); @Override List<U> convertToEntityAttribute(String dbData); }
ListToString implements AttributeConverter<List<U>, String> { @Override public List<U> convertToEntityAttribute(String dbData) { try { return new Json(dbData).get(getTypeReference()); } catch (IOException e) { throw new IllegalArgumentException("Failed to parse list from Json.", e); } }  abstract TypeReference<List<U>> getTypeReference(); @Override String convertToDatabaseColumn(List<U> entityData); @Override List<U> convertToEntityAttribute(String dbData);  }