@ManyToMany @JoinTable 之类的注释,有啥作用?可以不写吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@ManyToMany @JoinTable 之类的注释,有啥作用?可以不写吗?相关的知识,希望对你有一定的参考价值。

在一个PO中:

@ManyToMany(targetEntity = Client.class,fetch = FetchType.LAZY)
@JoinTable(name = "BASE_CONFIGCODE_CLIENT", joinColumns = @JoinColumn(name = "CONFIGCODE_ID", referencedColumnName = "ID") ,
inverseJoinColumns = @JoinColumn(name = "CLIENT_ID", referencedColumnName = "ID") )
public List<Client> getClientList()
return clientList;


public void setClientList(List<Client> clientList)
this.clientList = clientList;


请问:@ManyToMany @JoinTable @JoinColumn之类的注释,有什么作用?可以不写吗?
joinColumns 、 referencedColumnName 、inverseJoinColumns 什么的是什么意思呢?

(只要详细清楚的答案,如果有这方面的详细列表就更好了。笼统的、自己也糊里糊涂的答案请不要回复,谢谢!)

这个是Hibernate映射关系在类里的注解实现,不能不写

@ManyToMany 声明多对多关系
@JoinTable 说明数据源(数据表)
@JoinColumn 说明用对应的查询主键
这里就是把表BASE_CONFIGCODE_CLIENT里的数据映射到类Client,Client类的CLIENT_ID对应表的CONFIGCODE_ID字段。
参考技术A java中的annotation.
作用就是给一个类或字段或方法等,加上一个标记,用反射的方法,读取这些标记。
标记的作用是,保存一些信息。

以上是关于@ManyToMany @JoinTable 之类的注释,有啥作用?可以不写吗?的主要内容,如果未能解决你的问题,请参考以下文章

码农小汪-Hibernate学习8-hibernate关联关系注解表示@OneToMany mappedBy @ManyToMany @JoinTable

优化 Spring-data / Hibernate ManyToMany 插入

Hibernate中的ManyToMany映射引用错误(由api生成的表名)表Spring Boot

@ManyToMany 关系不保存

ManyToMany 关系导致 *** 错误

JPA:对生成的JoinTable的引用