在我的 WAS 应用程序中,我需要在映射到表的实体类中定义一个变量 (String)。 因此,与表相关的字段的注释为 @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,它将执行为“SELECT t0.iD, t0.desc, t0.error FROM TABLE_1 u WHERE u.iD=?”
我该如何解决这个问题?感谢您的帮助!
最佳答案
我找到了答案。我可以将字段或变量标记为 @javax.persistence.Transient
关于java - 在实体类中定义一个不是列的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22238352/