2010-01-19 102 views
2

我使用Java持久性,並且我想要一個Web方法返回實體類的「部分」。例如,我有一個Customer類,它代表了Customer表中有許多字段的記錄,但我只想返回其中的一小部分。有沒有可能使用映射來做到這一點?或者唯一的方法是創建一個新的類(也許是客戶的超類),只有我想返回的字段?我想結合,但沒有奏效(顯然我做了一個錯誤的方式):從Java Web服務返回複雜類型

@Entity 
@Table(name = "Customer", catalog = "test", schema = "") 
@XmlType(name = "Customer") 
public class Customer implements Serializable { 
private static final long serialVersionUID = 1L; 
@Id 
@GeneratedValue(strategy = GenerationType.IDENTITY) 
@Basic(optional = false) 
@Column(name = "id") 
@XmlElement 
private Integer accountId; 

@Basic(optional = false)  
@Column(name = "username") 
@XmlElement 
private String username; 

@Basic(optional = false) 
@Column(name = "password") 
private String password; 

我想,如果我不@XmlElement註釋添加到密碼字段,它不會被列入成果。但是,在部署期間,我收到了一堆「類有兩個同名的屬性」的錯誤。

回答

2

標註與

@XmlAccessorType(XmlAccessType.NONE) 

那麼類註釋要與

@XmlElement(name="field_name") 

實際上,有一個JAXB的問題(我找不到引用現在)發送的字段基本上說,如果你將從XML閱讀,你會想註釋設置器而不是字段本身。