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添加一个属性时能同时在数据表增加相应字段。