声明在Class上的
@Entity 声明某个类为实体类,对应着数据库中的一张表
@Table(name="users") 声明这个实体类生成的数据表名字
声明在属性上的
@Column 定义数据表字段的信息
1. type (可选,默认为string类型)定义字段的类型
注意,上面的日期类型都是以当前的php环境的时区获得。如果想实现多时区的应用参考cookbook entry
2.name (可选,默认为实体类的属性名)定义字段的名字
3.length (可选,默认为255个字符)定义字段的长度, 仅用于type为string的时候
4.unique (可选,默认为false) 定义字段是否唯一
5.nullable (可选,默认为false)定义字段是否可以为null
6.presision (可选,默认为0)定义字段的精度,该值仅仅作用于type为decimal的时候
7.scale (可选,默认为0)定义字段的取值范围,该值仅仅作用于type为decimal的时候
8.columnDefinition (可选)允许自定义一个DDL片段进行创建数据表列。(注意:该属性经常混淆SchemaTool总是检测数据表列的改变)
9.options (可选) 当生成DDL的时候以键值对的形式传递给底层的数据库平台
@Id 定义主键
@GeneratedValue 主键生成策略
1.AUTO(默认)
2.SEQUENCE
3.IDENEITY
4.TABLE
5.NONE
@SequenceGenerator 定义该列的附加信息,针对Oracle或者postgres,如:
@SequenceGenerator(sequenceName="message_seq", initialValue=1, allocationSize=100)allocationSize默认为10