我有2张桌子。 Table1有一个名为'id'的列,它是一个数字。表2有一个名为entity_id
的列,varchar
。 Table1与Table2有一对多关系。
这是我对Table1的Hibernate映射
@Entity
@Table(name="Table1")
public class Table1 implements Serializable {
private long id;
private List<Table2> notes;
@Id
@Column(name="ID")
public long getId() {
return id;
}
public void setId(long id) {
this.id= id;
}
@OneToMany(fetch=FetchType.EAGER,targetEntity=Table2.class)
@Fetch(FetchMode.JOIN)
@JoinColumn(name="ENTITY_ID",referencedColumnName="ID")
public List<Table2> getNotes() {
return storeNotes;
}
public void setNotes(List<Table2> notes) {
this.notes = notes;
}
}
当我使用Table1创建ctiteria并尝试列出数据时,我收到无效数字错误,因为连接列中的类型不匹配。能不能让我知道如何识别varchar?
答案 0 :(得分:-1)
为什么你想选择那种类型不匹配的设计?。最好的做法是在POJO和表中保持一致的数据类型,除非并且直到有这种特殊情况的可靠用例。