我正在尝试使用Hibernate和JPQL在Java中使用单个列连接一个表和另外两个表。
例如,我有一个table A
列id
。我想在table B
列上加入table C
和table A
加id
。
然而,当我尝试这样做时,我收到以下错误:
org.hibernate.exception.DataException: The value supplied cannot be converted to BIGINT
。我看到一些答案说可能有空值,但这些id列是主要的id列,并且不包含空值。
我的代码如下:
@OneToOne(fetch = fetchType.LAZY)
@JoinColumn(name="id", insertable=false, updatable=false)
private TableB tableB
@OneToOne(fetch = fetchType.LAZY)
@JoinColumn(name="id", insertable=false, updatable=false)
private TableC tableC
当我删除其中一个连接时,一切正常。
我做错了什么导致了这个问题?
答案 0 :(得分:1)
我不知道id
是什么类型,但我认为它必须是Long
才能让Hibernate将其转换为BIGINT