在最近的项目使用ssh中关于实体类创建过程中遇到莫名的小问题
1、在类上面注明 @Entity
2、在类上面注明 @Table(name = "数据库表名")
3、类要实现序列化 implements java.io.Serializable
4、实现序列化后,可以在类上面注明@SuppressWarnings("serial")
5、可以在私有属性的get方法上注明对应数据库的列名
@Column(name = "表列名") nullable , length等也可以继续添加
6、对应的主键要在get方法上多加上一句 @id
7、如果有一对多
一对多 一般是一个 (对象的集合)
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "多的一方的属性名") lazy:懒加载,不会自动加载子集,使用了mappedBy 不能再用@JoinColumn,否则 会有冲突
多对一 一般是一个实体类(类本身)
@ManyToOne(fetch = FetchType.EAGER) 立即加载:可以通过 类名.属性名直接获取上级
@JoinColumn(name = "外键")
取消外键的生成
@ForeignKey(name="null")