@JoinTable和@JoinColumn
@JoinColumn
这个注解一般修饰在主控方,用来定义一对一,一对多等关系列
属性 | 是否必须 | 说明 |
---|---|---|
columnDefinition | 否 | 指定Hibernate使用该属性值指定的SQL片段来创建外键列 |
name | 否 | 指定该外键列的列名 insertable 否 指定该列是否包含在Hibernate生成的insert语句的列表中。默认值: true |
updatable | 否 | 指定该列是否包含在Hibernate生成的update语句的列表中。默认值: true |
nullable | 否 | 指定该列是否允许为null。默认值: true |
table | 否 | 指定该列所在数据表的表名 |
unique | 否 | 指定是否为该列增加唯一约束 |
referencedColumnName | 否 | 指定该外列所参照的主键列的列名 |
用于构建一对多,多对多时的连接表,默认会以主控表加下划线加反转表为表名
属性 | 是否必须 | 说明 |
---|---|---|
name | 否 | 指定该连接表的表名 |
JoinColumns | 否 | 该属性值可接受多个@JoinColumn ,用于配置连接表 中外键列的信息,这些外键列参照当前实体对应表 的主键列 |
inverseJoinColumns | 否 | 该属性值可接受多个@JoinColumn ,用于配置连接表 中外键列的信息,这些外键列参照当前实体的关联实体对应表 的主键列 |
targetEntity | 否 | 该属性指定关联实体 的类名。在默认情况下,Hibernate将通过反射来判断关联实体的类名 |
catalog | 否 | 设置将该连接表放入指定的catalog中。如果没有指定该属性,连接表将放入默认的catalog |
schema | 否 | 设置将该连接表放入指定的schema中。如果没有指定该属性,连接表将放入默认的schema |
uniqueConstraints | 否 | 该属性用于为连接表 增加唯一约束 |
indexes | 否 | 该属性值为@Index 注解数组,用于为该连接表定义多个索引 |