注解的新增

1.在三种情况下会用到@PrimaryKeyJoinColumn

继承。

entity class映射到一个或多个从表。从表根据主表的主键列(列名为referencedColumnName值的列),建立一个类型一样的主键列,列名由name属性定义。 

one2one关系,关系维护端的主键作为外键指向关系被维护端的主键,不再新建一个外键列。

属性说明:

name:列名。referencedColumnName:该列引用列的列名

columnDefinition:定义建表时创建此列的DDL

2.spring @Entity @Table

参考:https://blog.csdn.net/u010081710/article/details/51692314

3.hibernate注解 

参考:https://blog.csdn.net/wangpeng047/article/details/8712752

(1)@GeneratedValue,主键生成策略,其中里面的属性:generator 这个属性是用来给策略起的一个名称

(2)@GenericGenerator,其中里面的属性:name指定生成器名称,strategy 指定具体生成器的类名(指定生成策略)。

(4)@Column 声明了属性到列的映射。

(3)strategy属性的值里面所包含的几种策略

uuid  采用128位的uuid算法生成主键,uuid被编码为一个32位16进制数字的字符串。占用空间大(字符串类型)。

assigned 在插入数据的时候主键由程序处理(很常用),这是<generator>元素没有指定时的默认生成策略。等同于JPA中的AUTO。

例如:

@GeneratedValue(generator = "paymentableGenerator")

       @GenericGenerator(name = "paymentableGenerator", strategy = "assigned")

(5)@Temporal

声明了日期类型。

TemporalType.DATE 日期,例:2011-04-12

TemporalType.TIME 时间,例:22:50:30

TemporalType.TIMESTAMP 日期和时间,例:2011-04-12 22:51:30

猜你喜欢

转载自www.cnblogs.com/zuo72/p/8979336.html
今日推荐