【发布时间】:2011-06-07 10:46:16
【问题描述】:
我认为 hibernate 只考虑使用 @Column 注释的类变量。但奇怪的是,今天当我添加一个变量(未映射到任何列,只是我在类中需要的一个变量)时,它试图将该变量作为列名包含在 select 语句中并引发错误 -
“字段列表”中的未知列“team1_.agencyName”
我的班级 -
@Entity
@Table(name="team")
public class Team extends BaseObject implements Serializable {
@Id @GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
@Column(length=50)
private String name;
@Column(length=10)
private String code;
@Column(name = "agency_id")
private Long agencyId;
private String agencyName; //note: not annotated.
}
仅供参考...我在另一个具有多对多映射的类中使用上述类
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(
name="user_team",
joinColumns = { @JoinColumn( name="user_id") },
inverseJoinColumns = @JoinColumn( name="team_id")
)
public Set<Team> getTeams() {
return teams;
}
为什么会这样?!
【问题讨论】:
-
非常抱歉...我是新手。会为我所有的帖子做这件事!谢谢你的告知。
-
@Tunaki 不,这不完全是问题“JPA 在持久性期间忽略字段的最快方法?”的重复。 (stackoverflow.com/questions/1281952/…) 这张票是关于 Hibernate 的,另一张是在谈论 JPA。
-
@hese 你的基类有一些变量吗?如果是,hibernate 会忽略它们还是考虑它们?