使用Hibernate查询的时候,有的时候实体类里包含多对多的关系或一对一的关系,如下代码
@Entity
@Table(name="t_card")
public class Card {
@Id
@GeneratedValue(generator="c_id")
@GenericGenerator(name="c_id",strategy="identity")
@Column(name="id")
private int id;
@Column(name="cnumber")
private String number;
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name="personid")
private Person person;//外键
//setter getter。。。
}
如果传过来的是用户的Id,就需要这样查
from Card t where t.person.id = :id;
如果这样写
from Card t where t.personid=:id;
就会报错
[Ljava.lang.Object; cannot be cast to