@JoinTable和@JoinColumn

@JoinColumn

这个注解一般修饰在主控方,用来定义一对一,一对多等关系列

属性是否必须说明
columnDefinition 指定Hibernate使用该属性值指定的SQL片段来创建外键列
name 指定该外键列的列名 insertable 否 指定该列是否包含在Hibernate生成的insert语句的列表中。默认值: true
updatable 指定该列是否包含在Hibernate生成的update语句的列表中。默认值: true
nullable 指定该列是否允许为null。默认值: true
table 指定该列所在数据表的表名
unique 指定是否为该列增加唯一约束
referencedColumnName 指定该外列所参照的主键列的列名

        

      

@JoinTable

用于构建一对多,多对多时的连接表,默认会以主控表加下划线加反转表为表名

属性是否必须说明
name 指定该连接表的表名
JoinColumns 该属性值可接受多个@JoinColumn,用于配置连接表中外键列的信息,这些外键列参照当前实体对应表的主键列
inverseJoinColumns 该属性值可接受多个@JoinColumn,用于配置连接表中外键列的信息,这些外键列参照当前实体的关联实体对应表的主键列
targetEntity 该属性指定关联实体的类名。在默认情况下,Hibernate将通过反射来判断关联实体的类名
catalog 设置将该连接表放入指定的catalog中。如果没有指定该属性,连接表将放入默认的catalog
schema 设置将该连接表放入指定的schema中。如果没有指定该属性,连接表将放入默认的schema
uniqueConstraints 该属性用于为连接表增加唯一约束
indexes 该属性值为@Index注解数组,用于为该连接表定义多个索引
原文地址:https://www.cnblogs.com/liweixml/p/13518570.html