簡體   English   中英

休眠:列不存在

[英]Hibernate: column does not exist

當我嘗試使用Hibernate加載實體時,在postgres-log中出現以下錯誤:

ERROR: column appuser0_.device_token does not exist at character 35
STATEMENT:  select appuser0_.id as id1_27_0_, appuser0_.device_token as device_t2_27_0_,....

device_token列肯定存在-如果我復制粘貼整個記錄的語句並在PGAdmin中執行它,則將得到預期的結果。

那我忘了什么呢? Hibernate語句和手動執行的語句有什么區別?

此問題是由多租戶配置引起的,因此選擇了錯誤的數據源。

根據定義查詢的方式,問題可能位於其他地方:例如,HQL查詢使用的是類的“屬性名稱”,而不是列名稱。

如果您有類似以下內容:

@Column("device_token")
private String deviceToken;

然后,您的HQL查詢應該以“ deviceToken”而不是“ device_token”為目標。 我們也曾經遇到過類似的錯誤:Hibernate報告缺少“ user_id”,因為我們僅使用列名的下划線版本命名了屬性“ userId”。

這可能對您來說不是問題,但值得仔細檢查。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM