如何取消hibernate hbm2ddl.auto 自动创建外键
2014-11-27 09:38
483 查看
利用hbm2ddl自动创建数据库表时,会同时创建表的外键关联。配置如下。
hibernate的更新log有如下说明:
用配置文件方式可以在xml相应实体类进行如下配置(注意其中的foreign-key="none"):
<prop key="hibernate.hbm2ddl.auto">create</prop>要取消外键的自动创建,需要配置foreign-key="none"。
hibernate的更新log有如下说明:
Changes in version 2.1.9 (xx.x.xxxx) ------------------------------------ * foreign-key="none" can be used to disable generation of a foreign key.因此,项目中关于hibernate ORM的配置可以用注解方式,也可以用配置文件方式。
用配置文件方式可以在xml相应实体类进行如下配置(注意其中的foreign-key="none"):
<class name="org.jbpm.identity.User" table="JBPM_ID_USER" discriminator-value="U"> <id name="id" column="ID_"> <generator class="native" /> </id> <discriminator type="char" column="CLASS_" /> <property name="name" column="NAME_" /> <property name="email" column="EMAIL_" /> <property name="password" column="PASSWORD_" /> <set name="memberships" cascade="all"> <key column="USER_" /> <one-to-many class="org.jbpm.identity.Membership" /> </set> <set name="permissions" cascade="all" table="JBPM_ID_PERMISSIONS"> <key column="ENTITY_" foreign-key="none" /> <element type="org.jbpm.identity.hibernate.PermissionUserType"> <column name="CLASS_" /> <column name="NAME_" /> <column name="ACTION_" /> </element> </set> </class>用注解方式可以在相应类字段的get方法前配置注解如下:
@JoinColumn(name="parent_id") @ForeignKey( name = "none" )以上。
相关文章推荐
- Myeclipse如何自动创建hibernate
- Hibernate如何让数据库自动创建时间(时间戳)
- 【Eclipse】【Android】如何取消自动创建appcompat_v7
- Myeclipse如何自动创建hibernate以及配置struts2以及数据库表创建映射文件 详解
- Myeclipse如何自动创建hibernate
- hibernate4.x自动建表时候创建外键失败ERROR: HHH000389: Unsuccessful: alter table ORDERS_NOPK1 add index
- Myeclipse如何自动创建hibernate
- 数据库创建表时没有指定主外键,hibernate 如何 may to one的解决办法,按主键关联也是one to one的一种
- Myeclipse如何自动创建hibernate
- 【转载】Myeclipse如何自动创建hibernate
- Myeclipse如何自动创建hibernate,将工程转变为hibernate工程
- Myeclipse如何自动创建hibernate 转载
- 如何在关闭数据库链接时,自动关闭由该链接创建的所有Statement
- 利用Hibernate工具,通过xml文件自动创建表
- 如何管理IIS,自动创建WEB SITE,应用程序池
- DB2中如何创建能自动加一的字段?
- 如何实现软件的自动启动和取消自动启动
- SQL Server如何识别真实和自动创建的索引
- 如何在VS2008中创建模板,自动生成一些版权信息
- 介绍如何在安装包中自动为客户创建数据库