Получить значение из объекта по ключу в Java - PullRequest
0 голосов
/ 30 января 2019

Я получаю объект в ответе метода entityManager.find.и я хочу получить значения из этого объекта, передав ключ.но я не добьюсь успеха.

Например: -

моя сущность: -

@entity
class Test (){
public Long id;
public String name ;
public String descr;
}

, и я получаю объект в ответе кода ниже.

`Object obj=`entitymanager.find(classname,id);

Примечание: - Вместо объекта я не могу напрямую использовать объект сущности, потому что имя входного класса может передаваться динамически, поэтому я принимаю ответ в Object.

Теперь я хочуполучить значение от объекта, передавая ключ что-то вроде этого obj.getvalue("id");

Я попытался сделать следующее: -

  1. Map<String, Object> user = (Map<String, Object>)obj;
  2. Использовал простой анализатор json для его анализа.

    JSONParser parser = new JSONParser();

    JSONObject jsonObject = parser.parse (obj.toString ());

НоЯ не добьюсь успеха.

Пожалуйста, помогите мне.

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Object obj= entitymanager.find (имя класса, id);

В приведенной выше строке указан тип «имя класса».Так как ваш вопрос не упоминает тип.Я предполагаю, что его типа Object.Вы должны сделать что-то вроде

Object obj= entitymanager.find (classname.getClass (), id);

0 голосов
/ 30 января 2019

Я немного не уверен в том, что вы спрашиваете ... но до тех пор, пока "имя" является первичным ключом, вы можете позвонить

Test obj = entitymanager.find(Test.class, name);
...