在Entity类中定义一个不是列的变量

use*_*579 4 java sql entity entity-framework

在我的WAS应用程序中,我需要在Entity类中定义一个映射到表的变量(String).因此,与表相关的字段的注释为@Column(name ="column_name")我需要向此Entity类添加一个新的字段/变量,该类不是表中的列.如果我将其声明为普通字段,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;    


}
Run Code Online (Sandbox Code Playgroud)

因此,如果我运行namedquery,它将被执行为"SELECT t0.iD,t0.desc,t0.error FROM TABLE_1 u WHERE u.iD =?"

我该如何解决这个问题?谢谢你的帮助!

use*_*579 10

我找到了答案.我可以将字段或变量标记为@ javax.persistence.Transient