{"action":"opened","issue":{"url":"https://api.github.com/repos/orientechnologies/spring-data-orientdb/issues/43","repository_url":"https://api.github.com/repos/orientechnologies/spring-data-orientdb","labels_url":"https://api.github.com/repos/orientechnologies/spring-data-orientdb/issues/43/labels{/name}","comments_url":"https://api.github.com/repos/orientechnologies/spring-data-orientdb/issues/43/comments","events_url":"https://api.github.com/repos/orientechnologies/spring-data-orientdb/issues/43/events","html_url":"https://github.com/orientechnologies/spring-data-orientdb/issues/43","id":147456825,"number":43,"title":"How to store a HashMap of strings using orientdb object api?","user":{"login":"anidotnet","id":696662,"avatar_url":"https://avatars.githubusercontent.com/u/696662?v=3","gravatar_id":"","url":"https://api.github.com/users/anidotnet","html_url":"https://github.com/anidotnet","followers_url":"https://api.github.com/users/anidotnet/followers","following_url":"https://api.github.com/users/anidotnet/following{/other_user}","gists_url":"https://api.github.com/users/anidotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/anidotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anidotnet/subscriptions","organizations_url":"https://api.github.com/users/anidotnet/orgs","repos_url":"https://api.github.com/users/anidotnet/repos","events_url":"https://api.github.com/users/anidotnet/events{/privacy}","received_events_url":"https://api.github.com/users/anidotnet/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-04-11T15:00:22Z","updated_at":"2016-04-11T15:00:22Z","closed_at":null,"body":"I have a simple class as follows:\r\n\r\n```java\r\npublic class ConnectionAdapter {\r\n    @Id\r\n    private String id;\r\n\r\n    @Version\r\n    private Long version;\r\n\r\n    private String name;\r\n    private ProviderType providerType;\r\n    \r\n    private Map<String, String> properties = new ConcurrentHashMap<>();\r\n\r\n    public ConnectionAdapter(ProviderType providerType) {\r\n        this.providerType = providerType;\r\n    }\r\n\r\n    public String getName() {\r\n        return name;\r\n    }\r\n\r\n    public void setName(String name) {\r\n        this.name = name;\r\n    }\r\n\r\n    public ProviderType getProviderType() {\r\n        return providerType;\r\n    }\r\n\r\n    public void setProviderType(ProviderType providerType) {\r\n        this.providerType = providerType;\r\n    }\r\n\r\n    public void add(String name, String value) {\r\n        properties.put(name, value);\r\n    }\r\n\r\n    public boolean containsKey(String name) {\r\n        return properties.containsKey(name);\r\n    }\r\n\r\n    public Object getString(String name) {\r\n        return properties.get(name);\r\n    }\r\n\r\n    public String getId() {\r\n        return id;\r\n    }\r\n\r\n    public void setId(String id) {\r\n        this.id = id;\r\n    }\r\n}\r\n\r\n\r\npublic class TestAdapter extends ConnectionAdapter {\r\n    public static final String EMAIL = \"test.email\";\r\n    public static final String URL = \"test.url\";\r\n    public static final String USER = \"test.user\";\r\n    public static final String PASSWORD = \"test.password\";\r\n\r\n    public TestAdapter() {\r\n        super(ProviderType.ABC);\r\n    }\r\n}\r\n```\r\n\r\nI am trying to persist this ```TestAdapter``` object using orientdb object api. I am able to save it to the db, but when I try to fetch it, I am not getting anything in properties field. Other fields are having data, but map field is not having any data when retrieved.\r\n\r\n```java\r\nTestAdapter testAdapter = new TestAdapter();\r\ntestAdapter.setName(\"XYZ\");\r\ntestAdapter.add(TestAdapter.URL, \"https://test.com\");\r\ntestAdapter.add(TestAdapter.USER, \"abcd\");\r\ntestAdapter.add(TestAdapter.PASSWORD, \"abcd\");\r\ntestAdapter.add(TestAdapter.EMAIL, \"abcd@test.com\");\r\n\r\n// IDE debugger shows testAdapter is having data here in properties field\r\nString id = adapterRepository.save(testAdapter).getId();\r\n        logger.info(\"Id generated - \" + id);\r\n\r\n        List<ConnectionAdapter> connectionAdapters = adapterRepository.findAll();\r\n        connectionAdapters.forEach(adapter -> {\r\n            assertEquals(adapter.getName(), name);\r\n            logger.info(\"Retrieved connection name \" + adapter.getName());\r\n            // I am getting null here instead of \"https://test.com. Why????\r\n            logger.info(\"Retrieved connection server \" + adapter.getString(TestAdapter.URL));\r\n        });\r\n\r\n```\r\nSo how to properly save and retrieve this data?"}}