2014-03-06 74 views
4

在我的WAS應用程序中,我需要在映射到表的實體類中定義一個變量(字符串)。 因此,與該表相關的字段的註釋標記爲@Column(name =「column_name」) 我有一個要求將新字段/變量添加到此表中不是列的實體類。如果我將其聲明爲普通字段,則JPA也會在SQL中轉換此字段。這導致SQL -206錯誤(如預期)。在實體類中定義一個不是列的變量

如何使用我聲明此字段?是否有一個註釋可以用來表示它的一個自定義變量,而不涉及此實體定義的表中的任何列?

例如:

@Entity 
@Table(name = "TABLE_1") 
@NamedQueries(
{ 
@NamedQuery(name = "abc:findTableContent", query = "SELECT u FROM TABLE_1 u WHERE u.Id = :iD"), 
}) 
public class TableEntity1 implements Serializable 
{ 
    @Id 
    @Column(name = "TABLE1_ID") 
    private Long iD; 

    @Column(name = "DESC") 
    private String desc; 


    private String error;  


} 

所以,如果我運行namedquery,它得到執行? 「選擇t0.iD,t0.desc,t0.error FROM TABLE_1üWHERE u.iD =」

我該如何解決這個問題?謝謝你的幫助!

回答

8

我找到了答案。我可以將字段或變量標記爲@ javax.persistence.Transient

+0

@transient註釋get 將工作 – Manglesh

相關問題