我以为hibernate只考虑用@Column注释的实例变量。但奇怪的是,今天当我添加一个变量(它没有映射到任何列,只是一个变量,我需要在类),它试图包括该变量在选择语句作为列名,并抛出错误-
未知列“team1_”。字段列表中的代理名
我的班级——
@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;
}
为什么会这样?!