我有被映射到一個視圖中@Entity
,這裏是它的外觀排除由休眠創建的特定表嗎?
import org.hibernate.annotations.Immutable;
import javax.persistence.*;
@Table(name = "user_earning")
@Entity
@Immutable
public class UserFlightEarning {
@Id public Long userId;
public Long flightId;
@Column(name = "flight_seq") public Long flightSequence;
}
這工作得很好,我可以從使用DAO的觀點檢索記錄。但是我在日誌中注意到Hibernate實際上正在嘗試創建表,但由於它已經存在而失敗。
2015年11月12日21:56:34.841 ERROR 4204 --- [OST-startStop-1] org.hibernate.tool.hbm2ddl.SchemaExport:HHH000389:不成功: 創建表user_profile(USER_ID BIGINT不爲空,avg_airtime 整數,avg_fuel_points整數,avg_miles整數,電子郵件 VARCHAR(255),如first_name VARCHAR(255),flights_count整數, furthest_flight整數,姓氏VARCHAR(255),longest_flight 整數,most_visited_city VARCHAR(255),tier_end integer,tier_start integer,primary key(user_id))2015-11-12 21:56:34.841錯誤4204 --- [ost-startStop-1] org.hibernate.tool.hbm2ddl.Schema導出:表 'user_profile'已存在
我可以配置hibernate嗎,以便它跳過創建這樣的實體嗎?我認爲@Immutable
註釋告訴Hibernate跳過創建,但是看起來這個註釋只是爲了防止表上的crud操作。
AFAIK,休眠不支持此。 –
請在這裏看到答案:http://stackoverflow.com/questions/438146/hibernate-hbm2ddl-auto-possible-values-and-what-they-do你可能只想使用「更新」,而不是「創建」架構每次 – Zilvinas
感謝評論傢伙。 @Zilvinas我希望在我有'create-drop'的時候讓春天忽略這些實體。 – prettyvoid