package com.sf.portal.teamInfo.model;
import java.util.HashSet;
import java.util.Set;
import com.google.common.base.Objects;
import javax.persistence.*;
@Entity
@Table(name = "SFRLF_TEAM_INFO")
public class TeamInfo {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "TN_TEAM_ID")
private long id;
@Lob
@Basic(fetch = FetchType.LAZY)
@Column(name = "TN_TEAM_LOGO")
private byte[] logo;
@Column(name = "TN_TEAM_NAME")
private String name;
@Column(name = "TN_TEAM_MOBILE")
private String mobile;
@Column(name = "TN_TEAM_NUMBER")
private Long number;
@Column(name = "TN_TEAM_KEYWORD")
private String keyword;
@Column(name = "TN_TEAM_REMARK")
private String remark;
@ManyToMany(fetch=FetchType.EAGER,cascade = {CascadeType.ALL})
@JoinTable(name="SFRLF_TEAM_MEMBERS",
joinColumns={@JoinColumn(name="TM_TEAM_ID",referencedColumnName="TN_TEAM_ID")},
inverseJoinColumns={@JoinColumn(name="TM_USER_ID",referencedColumnName="UI_USER_ID")})
private Set<UserInfo> users = new HashSet<UserInfo>();
public long getId() {
return id;
}
public byte[] getLogo() {
return logo;
}
public void setLogo(byte[] logo) {
this.logo = logo;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public Long getNumber() {
return number;
}
public void setNumber(Long number) {
this.number = number;
}
public String getKeyword() {
return keyword;
}
public void setKeyword(String keyword) {
this.keyword = keyword;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public void setId(long id) {
this.id = id;
}
@Override
public String toString() {
return Objects.toStringHelper(this)
.add("id", id)
.add("name", name)
.add("mobile", mobile)
.add("number", number)
.add("keyword", keyword)
.add("remark", remark)
.toString();
}
public static class Builder {
private long id;
private String name;
private String mobile;
private Long number;
private String keyword;
private String remark;
public Builder withId(long id) {
this.id = id;
return this;
}
public Builder withName(String name) {
this.name = name;
return this;
}
public Builder withMobile(String mobile) {
this.mobile = mobile;
return this;
}
public Builder withNumber(Long number) {
this.number = number;
return this;
}
public Builder withKeyword(String keyword) {
this.keyword = keyword;
return this;
}
public Builder withRemark(String remark) {
this.remark = remark;
return this;
}
public TeamInfo build() {
TeamInfo info = new TeamInfo();
info.id = id;
info.name = name;
info.mobile = mobile;
info.number = number;
info.remark = remark;
info.keyword = keyword;
info.remark = remark;
return info;
}
}
public Set<UserInfo> getUsers() {
return users;
}
public void setUsers(Set<UserInfo> users) {
this.users = users;
}
}
分享到:
相关推荐
在Java的持久化框架Hibernate中,`@ManyToMany`注解是用于处理数据库中的多对多(Many-to-Many)关系。多对多关系是指一个实体可以与多个其他实体相关联,反之亦然。这种关系在数据库表设计中通常通过中间表来实现,...
本篇将详细阐述Hibernate中的对象三状态、一对一(OneToOne)、一对多(OneToMany)以及多对多(ManyToMany)关系映射。 一、Hibernate对象三状态 1. 游离态(Detached):对象在应用程序中创建,但尚未与Session...
在Spring Boot和Spring Data的框架下,`ManyToMany`关系是一种常见的数据库模型,用于表示两个实体之间多对多的关系。这种关系意味着一个实体可以与多个其他实体相关联,反之亦然。例如,用户和角色之间的关系,一个...
本文将详细讨论在Hibernate 5中如何实现ManyToMany单向维护的多对多关联。 首先,我们要理解多对多关联的基本概念。在数据库设计中,多对多关系意味着一个表中的记录可以与另一个表中的多个记录相关联,反之亦然。...
在上面的代码中,`@ManyToMany`注解用于声明多对多关系。`mappedBy`属性指定在另一端的实体类中管理关联,而`@JoinTable`注解用于定义中间表的详细信息。 2. 配置映射文件或使用注解: - 如果使用XML配置,你需要...
在本课程中,我们将深入探讨JPA中的一些关键关系映射类型,包括`@ManyToMany`、`@OneToMany`等,以及它们的实际应用和测试。 ### `@ManyToMany`关系 在数据库设计中,`ManyToMany`关系表示两个实体之间存在多对多...
本教程将深入探讨如何在Spring Boot项目中设置和使用ManyToMany关联,以及如何解决在此过程中可能出现的循环引用和栈内存溢出问题。 在Java对象模型中,ManyToMany关系表示两个实体之间存在多对多的关系。例如,一...
在Java持久化框架Hibernate中,ManyToMany关系是一种重要的关联类型,它表示两个实体类之间可能存在多个实例互相关联的情况。例如,一个学生可以选修多门课程,一门课程也可以被多个学生选修,这就是典型的...
在这个“jpa-day3-manytomany.zip”压缩包中,我们很可能会找到一个关于如何在Spring Data JPA中处理多对多关系的示例或教程。下面,我们将深入探讨多对多关联的概念以及如何在实际应用中使用它。 首先,让我们理解...
Spring JPA ManyToMany 原理及用法详解 Spring JPA 中的 ManyToMany 关系是一种复杂的关系,它允许一个实体与多个其他实体发生关系。在本文中,我们将详细介绍 Spring JPA ManyToMany 关系的原理及用法。 首先,...
本篇我们将深入探讨JPA中的多对多双向关联,即`@ManyToMany`关系。 在关系数据库中,多对多关联是最复杂的一种关系类型,它可以表示两个实体之间无序的、可重复的关系。例如,一个学生可以选修多门课程,一门课程也...
多对多用于多态和非多态ManyToMany关系的Laravel Nova字段。目录特征在创建和更新页面中附加多态和非多态的ManyToMany关系附加关系时编辑枢轴列将源多次附加到另一个资源安装composer require armincms/many-to-many...
在Hibernate中,通过注解方式实现多对多双向关联,我们需要使用`@ManyToMany`注解,并配合`@JoinTable`来定义关联表。以下是一个简单的例子: 1. 定义两个实体类,比如`Student`和`Course`: ```java @Entity ...
在Hibernate中,我们可以通过`@ManyToMany`注解来定义这种关系,并使用`@JoinTable`注解来指定中间表的信息。例如: ```java @Entity public class Student { @Id @GeneratedValue(strategy = GenerationType....
本文将深入探讨如何在Hibernate中实现多对多(ManyToMany)的关系映射,以及相关的重要概念和技术细节。 在数据库设计中,多对多关系是最常见的一种关联类型,例如,一个学生可以选修多门课程,一门课程也可以被多...
在Django中,ManyToMany字段用于表示一对多对一的关系,即一个模型实例可以关联多个其他模型实例,反之亦然。在多层嵌套的情况下,这种关系变得更加复杂,但Django的ORM(对象关系映射)系统提供了强大的支持来处理...
在使用Django框架进行Web开发时,处理数据模型之间的多对多关系是一种常见需求。Django通过内置的ManyToManyField字段为我们提供了一种简洁方便的方式来建立这种关系。然而,在实际使用中,开发者需要关注一些细节以...
C#例子代码 A0623_EF_ManyToManyC#例子代码 A0623_EF_ManyToManyC#例子代码 A0623_EF_ManyToManyC#例子代码 A0623_EF_ManyToManyC#例子代码 A0623_EF_ManyToManyC#例子代码 A0623_EF_ManyToManyC#例子代码 A0623_EF_...
在这个名为"springboot_relationships_manytomany_jointable"的项目中,我们主要探讨的是Spring Boot如何处理多对多关系,并通过联合表(join table)进行数据存储。在数据库设计中,多对多关系是一种常见的关联类型...