我有2个课程如下:
@XmlRootElement
@PersistenceCapable(detachable="true")
public class User {
@Persistent(primaryKey="true", valueStrategy=IdGeneratorStrategy.IDENTITY)
private Long id;
private String firstname;
private String lastname;
private UserDetails userDetails;
...
}
和
@XmlRootElement
@PersistenceCapable(detachable="true")
public class UserDetails {
private String streetaddress;
private String address;
private String city;
private int pincode;
private Date dateofbirth;
...
}
我只需要检索用户对象,而不需要在一个 JAXRS 函数中包含 userdetails,并且在另一个 JAXRS 函数中包含用户对象及其附加的 userdetails 对象,如图所示。
//UserManager.java
public List<User> getUsers() {
javax.jdo.Query q = pm.newQuery("SELECT FROM "+ User.class.getName());
List<User> users = (List<User>) q.execute();
return users;
}
和 JAXRS 服务:
@GET
@Produces({MediaType.APPLICATION_JSON})
public List<User> getUsers() { //Retrieves all users and user details
UserManager um=new UserManager(); //working perfectly
return um.getUsers();
}
@GET
@Produces({MediaType.APPLICATION_JSON})
public List<User> getUsers() { //should retrieve user only, but how?
UserManager um=new UserManager();
return ?????
}
如何防止 UserDetails 对象被 JAXRS 和 JAXB 扩展为第二个功能???