jpa返回值映射_spring data jpa实体类映射配置

@Entity:用来标志实体类,知名这是一个和数据库表映射的实体类

@Id注解指明这个属性映射为数据库的主键

@GeneratedValue注解默认使用主键生成方式为自增,hibernate会自动生成一个名为HIBERNATE_SEQUENCE的序列。

@Table实体类映射表表名称,如果不加这个注解会默认使用类名

@Column使用来映射属性名和字段名,不注解的时候hibernate会自动根据属性名字生成数据表的字段名。如属性name映射生成字段NAME;多字母属性如testName会自动映射为TEST_NAME。表明映射规则也是如此。

1 @Entity2 @Table(name="datasource")3 public class Source implementsIdGeneratorable{4

5 @Id6 @Column(length=20)7 privateString id;8

9 privateString name;10

11 privateString chinese;12

13 privateString jdbcDirver;14

15 privateString driverClass;16

17 privateString url;18

19 @Column(name="u_name")20 privateString username;21

22 @Column(name="pwd")23 privateString password;24

25 privateString charset;26

27 privateString sortRule;28

29 privateString databaseName;30

31 privateString addTime;32

33 private Integer state =Constant.ACTIVATE_SATE;34

35 @OneToOne(targetEntity=UploadFile.class,fetch=FetchType.EAGER)36 @JoinColumn(name="file_id",referencedColumnName="id")37 privateUploadFile association;38

39 @OneToMany(targetEntity=DataTable.class,fetch=FetchType.LAZY,mappedBy="source")40 @JsonIgnore41 private Listtables;42 //省略getter和setter方法

43 }

1 @Entity2 public class DataTable implementsIdGeneratorable{3

4 @Id5 privateString id;6

7 privateString name;8

9 privateString chinese;10

11 @ManyToOne(targetEntity=Source.class,fetch=FetchType.LAZY)12 @JoinColumn(name="data_source_id",referencedColumnName="id")13 @JsonIgnore14 privateSource source;15

16 @OneToMany(targetEntity=TableColumn.class,fetch=FetchType.LAZY,mappedBy="dataTable")17 @JsonIgnore18 private Listcolumns;19

20 private Date addTime;

}

关联配置:

@OneToOne 配置一对一关联,属性targetEntity指定关联的对象的类型 。

@JoinColumn指定该实体类对应的表中引用的表的外键,name属性指定外键名称,referencedColumnName指定应用表中的字段名称

@OneToMany注解“一对多”关系中‘一’方的实体类属性(该属性是一个集合对象),targetEntity注解关联的实体类类型,mappedBy注解另一方实体类中本实体类的属性名称

@ManyToOne注解“一对多”关系中‘多’方的实体类属性(该属性是单个对象),targetEntity注解关联的实体类类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值