在Hibernate中加入不同类型的列

时间:2014-11-04 10:24:19

标签: java hibernate jpa join

我有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?

1 个答案:

答案 0 :(得分:-1)

为什么你想选择那种类型不匹配的设计?。最好的做法是在POJO和表中保持一致的数据类型,除非并且直到有这种特殊情况的可靠用例。