0

这是一个类,我已经映射到 Hibernate:

@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="hall_id")

Set<Literature> literatures;

@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="hall_id")

Set<RecycleFacility> recycleFacilities;

@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="hall_id")

Set<Assent> assents;

但是当我试图将这个类映射到 JSon 时,我总是有一个堆栈。我使用的是 Jackson Mapper、Genson 和 Google Gson,但他们无法映射这段代码(或者我不知道如何映射)。谁能告诉我,如何正确映射这种集合?

4

1 回答 1

0

Assuming your json format is like this

 {
   "literatures":[
      {
         "id":10,
         "name":"abc"
      }
   ],
   "recycleFacilities":[
      {
         "id":20,
         "name":"testFaculty"
      }
   ],
   "assents":[
      {
         "id":30,
         "name":"Test"
      }
   ]
}

and assuming your object model classes are composed in another class as like

Class Another{ 

@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="hall_id")

Set<Literature> literatures;

@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="hall_id")

Set<RecycleFacility> recycleFacilities;

@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="hall_id")

Set<Assent> assents;
// getter/setter
}

Then you can parse and and populate your hibernate object model as below.

Another response = gson.fromJson(reader, Another.class);

You can create json from model as below

Gson gson = new Gson();
String jsonString= gson.toJson(yourObject);
于 2013-11-20T20:33:20.333 回答