java - 在实体类中定义一个不是列的变量

标签 java sql entity-framework entity

在我的 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/

相关文章:

java - file.getTotalSpace() 返回实际值的两倍

sql - 混合隐式和显式 JOIN

sql - Oracle 提示 "restrict_all_ref_cons"的含义是什么?

c# - 每次我引用一个用户配置文件时,EF 都会创建一个新的用户配置文件?

c# - 使用 Dapper 将 byte[] 数组转换为 sqldbtype.Varbinary

java - 双for循环中的死代码

java无法拦截 "invalid operation at cursor position"错误的SQLException

java - Java Web 框架真的值得这么麻烦吗?

sql - SQL 标准与 T-SQL 扩展的性能

.net - Entity Framework ObjectContext -> 对 native DBMS 的原始 SQL 调用