2011-08-12 69 views
1

現在我理解到數據庫表映射我們添加:表未映射?

@Entity() 
@Table(name = "test") 
public class Test implements Serializable { 
    /** Constant - serial version UID. */ 
    public final static long serialVersionUID = 1L; 

    /** Member variable - represents the "name" field. */ 
    public String name; 
} 

但由於某些原因,當我做查詢:

delete from test; 

它給了我這個錯誤:

15:55:54,140 ERROR [JsonFilter] javax.ejb.EJBException: java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: spa_splash_page_ad is not mapped [delete from spa_splash_page_ad] 
javax.servlet.ServletException: javax.ejb.EJBException: java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: spa_splash_page_ad is not mapped [delete from spa_splash_page_ad] 
    at com.pinksheets.common.web.servlet.DeleteSplashPageServlet.fetch(DeleteSplashPageServlet.java:30) 
    at com.pinksheets.common.web.servlet.DeleteSplashPageServlet.fetch(DeleteSplashPageServlet.java:17) 

任何想法爲什麼這樣做?

+0

testValue類的代碼是什麼? –

+0

測試值將只是主鍵的變量。 – iCodeLikeImDrunk

+0

是的,但是如果您正在使用'@ IdClass',則您的主類中必須有匹配的成員。見http://download.oracle.com/javaee/5/api/javax/persistence/IdClass.html –

回答

1

delete from table test不是我知道的任何QL中的有效查詢。

映射爲@IdClass的類是一個複合標識,您不會直接刪除它。你會刪除一個具有該ID的實體。此外,由於它是@IdClass,我不確定在給它一個明確的@Table映射時會發生什麼。 @IdClass是一個主鍵值,並且總是應該用作其他類的ID。它沒有自己的表格。請參閱mapping composite ids的hibernate註釋參考和正確的use of @IdClass

+0

雅我有點想出了審查表後,認爲它有複合IDS ..謝謝! 仍然得到沒有映射錯誤,即時猜測我的導師可能有做的事情 – iCodeLikeImDrunk

+0

以不同的方式因此,接下來的問題是,爲什麼你試圖寫一個刪除查詢,而不是簡單地調用'使用Session.delete(someObject)' 。 –

+0

不要問我..我的導師希望它這樣做的方式= /即使表映射它仍然給我的錯誤猜測生病等待我的導師過目一切 – iCodeLikeImDrunk

2
  1. 嘗試:

    delete from com.mycompany.database.Test
    瞭解fully qualified names(這是完整的包名/路徑+類名)

  2. 爲什麼在查詢詞table

  3. 同樣來自@Entity()

  4. 刪除()你應該保持Java約定,資本開始字母命名實體:

    class Test{} 比你可以:

    delete from fully.qualified.name.Test

  5. 確保實體是@javax.persistence.Entity而不是別的。

+0

sry這是一個錯誤應該不會在任何地方刪除表格。 fully.qualified.name.test這是什麼意思?只需鍵入? ()在那裏,因爲我用了一個高級開發人員的工作作爲例子,所以她在那裏,所以我補充說...以及再次嘗試.. – iCodeLikeImDrunk

+0

@Joe陳 - 我編輯我的帖子。 – fatnjazzy