hibernate 生成表的外键都自动生成了unique约束

怎么解决,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

4个回答

检查下你的hibernate的配置文件怎么配置的。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <!-- 配置 hibernate 的基本信息 -->
        <!-- hibernate 所使用的数据库方言 -->
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>     

        <!-- 执行操作时是否在控制台打印 SQL -->
        <property name="hibernate.show_sql">true</property>

        <!-- 是否对 SQL 进行格式化 -->
        <property name="hibernate.format_sql">true</property>

        <!-- 指定自动生成数据表的策略 -->
        <property name="hibernate.hbm2ddl.auto">update</property>

        <property name="hibernate.connection.autocommit">true</property>
    </session-factory>
</hibernate-configuration>

数据库中的主键和外键以及unique的基本用法如下:
1 主键在表中是唯一性的,并且主键所在的字段不能为空,且一个表中,只有一个主键或一个联合主键。
2 当一个表引用外键时,被引用的表中字段必须是主键或unique
所以这是hibernate遵循的数据库的基本语法,并没有错误啊。

aaaa954860698
jinxZz0 原来是这样,只是在@joincolumn中unique设置为false 还是有生成unique约束
接近 5 年之前 回复

检查你数据库表

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐