EJB3.x:部署(卸載)EntityBean時自動創建(刪除)表結構
persistence.xml
- <?xml version="1.0"?>
- <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
- <persistence-unit name="EJBBookStore">
- <jta-data-source>java:/MSSQLDS</jta-data-source>
- <properties>
- <property name="hibernate.hbm2ddl.auto" value="none"/>
-
- <property name="hibernate.jdbc.fetch_size" value="18"/>
-
- <property name="hibernate.jdbc.batch_size" value="10"/>
-
- <property name="hibernate.show_sql" value="true"/>
-
- <property name="hibernate.format_sql" value="true"/>
- </properties>
- </persistence-unit>
- </persistence>
properties 節點用作指定Hibernate的各項屬性,如果hibernate.hbm2ddl.auto的值設為create-drop,在實體Bean發布及卸載時將自動創建及刪除相應數據庫表(注意:Jboss服務器啟動或關閉時會引發實體Bean的發布及卸載)。
如果你的表已經存在,并且想保留數據,發布實體bean時可以把hibernate.hbm2ddl.auto的值設為none或update,以后為了實體bean 的改動能反應到數據表,建議使用update,這樣實體Bean添加一個屬性時能同時在數據表增加相應字段。