2011-10-03 23 views
0

我有一個本地查詢,執行一個存儲過程,結果映射到一個實體,這工作正常,但事情是在數據庫中創建的實體(我是指正在創建的實際表,但此表將始終爲空),有什麼辦法來防止這種情況?防止實體被創建,但需要實體進行本地查詢

我使用JPA和Hibernate和SQL Server 2005

感謝

+1

hibernate只會在您告訴時創建一條記錄,您還必須做其他事情 – NimChimpsky

+0

嗯,它可能是自動創建實體的JPA自動發現,我會嘗試禁用它。 – GoofyHTS

+0

@NimChimpsky我只是重新讀你的評論,你的意思是「記錄」在數據庫行?我正在談論數據庫中的物理表。 – GoofyHTS

回答

1

你不應該使用一個實體,如果它不應該被存儲在任何數據庫表。該查詢應該返回一個對象列表,這些對象是一個沒有用@Entity註釋的類的實例。這就是說,讓hibernate爲你生成數據庫模式是你在開始項目時只應該做的快速原型設計。之後,模式不應該自動創建。

+0

所以我可以讓休眠映射結果到類沒有@Entity?在這種情況下,將不存在關聯。我同意關於自動創建,雖然 – GoofyHTS

+0

我試圖將它映射到類沒有@Entity,但我得到未知的實體異常。 – GoofyHTS

+0

只需查詢該類的字段,並自己構建該類的實例。 –