Я хотел бы уточнить, можно ли создать Map<String, Object>
из объекта JPA через Hibernate. Я имею в виду, что можно преобразовать постоянный объект (сущность) в Map, который содержит все свойства сущности в качестве ключей и значений свойств в качестве значений. Я понимаю, что свойства могут быть получены через Reflections, но я не могу понять, как сопоставить его с правильными значениями. Я нашел только одно решение и использовать Spring JdbcTemplate, но это не вариант в моем случае. Если у кого-нибудь есть возможное решение, пожалуйста, дайте мне знать. Заранее спасибо.Сущность на карту <String, Object>
ответ
Вы можете получить доступ к свойствам посредством отражения при помощи библиотеки Apache BeanUtil, если ваша сущность соответствует соглашениям об именах JavaBean для всех своих свойств.
Шаг первый: оберните свою сущность в объект WrapDynaBean
.
Шаг второй: создайте DynaBeanPropertyMapDecorator
, дополнительно обернув DynaBean.
Шаг третий: Ну, вот и все. DynaBeanPropertyMapDecorator
implmements Map<String, Object>
так что ваша работа там делается. getFoo()
на ваш первоначальный объект теперь может быть найден decorator.get("foo")
. (Обратите внимание, что вы потеряли безопасность типов, но вы сделали попросить Map<String, Object>
...)
Вы можете попробовать использовать @Converter следующего
@Entity
public class SomeEntity{
@Id
//...
@Convert(converter = MyConverter.class)
Map<String,Object> map;
}
и создать свой преобразователь, как вы хотите, например, преобразовать в/из json
@Converter
public class MyConverter implements
AttributeConverter<Map<String, Object>, String> {
@Override
public String convertToDatabaseColumn(Map<String, Object> map) {
return jsonStr(map);
}
@Override
public Map<String, Object> convertToEntityAttribute(String s) {
return mapFromJson(s);
}
- 1. Преобразовать карту <String, List <String>> в карту <String, Object []>
- 2. Как преобразовать карту <String, Set <String>> в карту <String, String []> в Java
- 3. Как сохранить карту <String, List <String>>?
- 4. Как создать карту <String, List <String> unmodifiable?
- 5. Как изменить карту <String, String> на карту <String, Ratio> с отношением x/y
- 6. Карта Java <String, MyObject> на карту <String, String>
- 7. Как преобразовать карту <объект, объект> в карту <String, String> в java?
- 8. Убедитесь, что map <string, string> содержит другую карту <string, string>
- 9. как сделать карту <CLSID, string>?
- 10. Как установить карту <String>?
- 11. Как закодировать карту <String, String> как строку Base64?
- 12. Scala Преобразовать карту [String, List [String]] в карту [String, String]
- 13. Как я могу объявить указатель на карту <String, Set <String>>?
- 14. Java Generics, помещая на карту <String,? extends Список <String>>
- 15. Преобразование объекта в карту <String, String> в java
- 16. Как передать карту <String, String> с application.properties
- 17. Сгенерировать карту <String, String> from POJO
- 18. Преобразование конфигурации hadoop в карту <String, String>
- 19. Как сопоставить карту <String, String> через аннотации?
- 20. Как преобразовать xml строку в карту <String, String>
- 21. Получить карту <String,<T>> из таблицы
- 22. Создать карту <String, List <Integer>>
- 23. Преобразование карты <String, String []> в карту <String, Object []> в java
- 24. Как сохранить карту <String, Map <String, String >> с JPA?
- 25. Как положить (String, List <MyObject>) в карту <String, List <Object>>
- 26. Что было бы лучшим способом определить карту <String, Map <String, String >> на Java?
- 27. Как загрузить карту <String, Collection <String>> из файла данных?
- 28. Как вставить вставку в карту <string, vector <pair :: <string, string >>> в C++?
- 29. список преобразования объекта в карту <String, Map <String, Integer >> java8 потоков
- 30. перебрать Map <Map <String, String> Map <String, String >> в заводной
Спасибо. Звучит прекрасно, и я попробую. – aime