2013-08-28 53 views
1

我搜遍了所有的地方,似乎幾乎所有這個問題的答案告訴我註釋我的id屬性或getter @ID。我已經嘗試過,絕對沒有運氣。這裏是我的全班多數民衆贊成失敗:http://pastebin.com/Cpsdx2Rj 和下面是我的例外:http://pastebin.com/uhs9e81b休眠:沒有爲實體指定標識符(是的,我用@Id ...裝飾過)

正如我所說的,我已經嘗試過了@Id devorator移動的財產,似乎沒有做任何事情。

有什麼建議嗎?任何其他配置文件需要調試?

非常感謝您提供任何幫助!

+0

將註釋放在可能有幫助的變量上。我也懷疑一個類路徑問題,嘗試排除jpa-api jar(或將它作爲提供的依賴項包含在內)。你也混合不同的春天版本(3.2.3和3.1.4),所以我強烈建議你修復你的maven pom。你能告訴我們你使用的庫和服務器的版本嗎? –

+0

你可能註釋過getters和fields嗎?因爲你不能那樣做。它要麼是獲得者,要麼是領域。不知道你是否發佈了整個班級,所以這是一個猜測 – mokuril

+0

通過查看你的堆棧跟蹤和實體,我可能會建議幾件事情,正如@ M.Deinum所提到的,你有混合版本的spring。你也可以顯示你的bean配置entityManagerFactory以及它的depednacy ..好像你有正確的實體註釋集。從你的日誌,它顯示你有連接問題..以及請嘗試改變私人長ID的名稱;以其他名字和嘗試一次。 –

回答

0

你應該註釋變量本身,而不是吸氣劑。

+0

謝謝你的回答,但請再次閱讀我的問題:我已經嘗試在屬性/變量上使用@Id裝飾器,並且得到相同的錯誤。 – Solvemon

0

你嘗試你的類定義之前添加@Access(AccessType.PROPERTY)爲默認訪問類型從字段更改爲getter方法

像這樣:

import javax.persistence.AccessType; 


@Entity 
@Access(AccessType.PROPERTY) 
public class Comment implements DomainEntity { 

    private Long id; 

    @Id 
    @Column (name="id",unique=true,nullable=false) 
    @GeneratedValue(strategy=GenerationType.AUTO) 
    public Long getId() { 
      return this.id; 
    } 
    . 
    . 
    . 
} 
0

我沒有找到一個解決方案,但從另一臺計算機上的測試顯然,版本不匹配(另一天的另一個問題)並沒有造成這種情況。我刪除了我的工作空間,我的m2-cache,重新導入了項目並重新下載了所有依賴項,現在它突然生效(Spring版本問題和所有)。

謝謝大家的幫助。

相關問題