2017-01-17 13 views
0

私は複数のPOJOクラスを持つプロジェクトを持っています。これらのクラスはHibernateを使用してデータベースにマップされています。JSONのデータベースからデータを返したい。Spring MVCで複数のPOJOクラスのJSONを返す方法

@RequestMapping(value="{userid}",method=RequestMethod.GET) 
public @ResponseBody List<IterationInfo> getIterationInfoInJSON(@PathVariable int userid) 
{ 
    Configuration con = new Configuration(); 
    con.configure("hibernate.cfg.xml"); 

    SessionFactory SF = con.buildSessionFactory(); 
    Session session= SF.openSession(); 
    Transaction TR = session.beginTransaction(); 
    Query query=session.createQuery("from IterationInfo"); 
    List<IterationInfo> listiterationinfo=query.list(); 
    session.close(); 

    SF.close(); 
    return listiterationinfo; 
} 

IterationInfoはPOJO class.Listが、私は、単一のJSON.Iなど複数のテーブル/ POJOクラスからデータをどのように返すためにIterationInfo table.Butからデータを返すことができていたいquery.Butからのデータを持っています複数のテーブル/ POJOクラス

+0

あなたは – Sreemat

+0

@Sreematあなたがサンプル/デモコードを投稿することができます?ありがとう、それは助け – Akshay

答えて

2

たとえば、あなたが必要なすべてのデータをcontaingラッパーDTOを作成します:ためのオブジェクトを作成します

@RequestMapping(value="{userid}",method=RequestMethod.GET) 
public @ResponseBody SomeResponseDto getIterationInfoInJSON(@PathVariable int userid) { 
    // code 
    SomeResponseDto dto = new SomeResponseDto(); 
    dto.setIterationInfos(listiterationinfo); 
    dto.setAnotherPojoClasses(anotherPojoClasses); 
    return dto; 
} 
+0

おかげで、個々のクラスオブジェクトを取得し、を一覧表示し、それを返すために追加する必要があります – Akshay

0
Class A{ //POJO Class 1 
    private String id; 
    private String name; 
    //Getter and setter methods 
} 
Class B{ //POJO Class 2 
    private String id; 
    private String name; 
    //Getter and setter methods 
} 

class SomeResponseDto { 
    private List<IterationInfo> iterationInfo; 
    private List<AnotherPojoClass> anotherPojoClasses; 
    // getters, setters 
} 

をそして今、あなたは、単一のJSONオブジェクトにデータを組み合わせることができますPOJOクラス。

@RequestMapping(value="{userid}",method=RequestMethod.GET) 
public @ResponseBody List<Object> getIterationInfoInJSON(@PathVariable int userid) 
{ 
    A a=new A(); B b=new B(); 
    List<Object> ls=new List<Object>(); 
    ls.add(a); 
    ls.add(b); 
    return ls; 
} 
関連する問題