2012-12-17 24 views
0

在我的數據庫(MySQL的),有一個名爲像這樣的表:如何停止hibernate註釋以自動修改表結構?

Project table'structure 
---------------------------------------------------------------- 
Field   | Type   | Null | Key | Default | Extra | 
+-------------+--------------+------+-----+---------+-------+ 
| id   | bigint(20) | NO | PRI | NULL |  | 
| create_time | date   | YES |  | NULL |  | 

而且我有一個這樣的實體:

@Entity 
@Table(name = "project") 
public class Project{ 
    Long id; 
    Date createTime; 
} 

每次啓動服務器,列「CREATE_TIME」將被自動更改爲「createTime」,並且所有數據都將被清除,這是非常危險的。也許我可以修改數據庫的用戶權限來停止hibernate執行此操作。問題是如何在休眠級別停止這種危險操作?

回答

0
@Column(name="create_time") 
Date createTime; 

另一種可能性是關閉hibernate.cfg.xml中的模式更新。

+0

謝謝。我是新來的註釋,問題是我可以使用註釋來取代整個XML,如果是的話,如何通過註釋禁用模式更新。 –

+1

您仍然需要hibernate.cfg.xml文件...您將通過從文件中省略hbm2ddl.auto屬性來禁用模式更新。 – hd1