Java @onetomany和@manytoone联合表,同时获取所有数据,反复重复相同的父表
@onetomany和@MANYTONE联合表,同时获取重复同一父表的所有数据 这是我的@Entity类Java @onetomany和@manytoone联合表,同时获取所有数据,反复重复相同的父表,java,hibernate,jpa,entity,Java,Hibernate,Jpa,Entity,@onetomany和@MANYTONE联合表,同时获取重复同一父表的所有数据 这是我的@Entity类 package com.social.webapp.entity; import java.io.Serializable; import java.sql.Date; import java.sql.Time; import java.util.ArrayList; import java.util.List; import java.util.Set; import jav
package com.social.webapp.entity;
import java.io.Serializable;
import java.sql.Date;
import java.sql.Time;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import com.sun.istack.Nullable;
@Entity
@Table(name = "userdetails")
public class UserDetails implements Serializable{
private static final long serialVersionUID = -7302800336276816169L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
long userid;
@Column(name = "mobilenumber",nullable = false)
@NotNull
String mobilenumber;
@Column(name = "email",nullable =false )
@Nullable
String email;
@Column(name = "profilename",nullable = true)
@Nullable
String profilename;
@Column(name = "profileimage",nullable = true)
@Nullable
String profileimage;
@Column(name = "firebaseuid",nullable = false)
@NotNull
String firebaseuid;
@Column(name = "createddate",nullable = false)
@NotNull
Date createddate;
@Column(name = "createdtime",nullable = false)
@NotNull
Time createdtime;
@Column(name = "delete",nullable = true)
@Nullable
int delete;
@OneToMany(targetEntity = PostDetails.class,fetch = FetchType.LAZY,mappedBy = "userdetails",cascade = CascadeType.ALL)
public List<PostDetails> postlist = new ArrayList<PostDetails>();
public UserDetails() {
// TODO Auto-generated constructor stub
}
public UserDetails(@NotNull String mobilenumber, String email, String profilename, String profileimage,
@NotNull String firebaseuid, @NotNull Date createddate, @NotNull Time createdtime, int delete) {
this.mobilenumber = mobilenumber;
this.email = email;
this.profilename = profilename;
this.profileimage = profileimage;
this.firebaseuid = firebaseuid;
this.createddate = createddate;
this.createdtime = createdtime;
this.delete = delete;
}
public long getUserid() {
return userid;
}
public void setUserid(long userid) {
this.userid = userid;
}
public String getMobilenumber() {
return mobilenumber;
}
public void setMobilenumber(String mobilenumber) {
this.mobilenumber = mobilenumber;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getProfilename() {
return profilename;
}
public void setProfilename(String profilename) {
this.profilename = profilename;
}
public String getProfileimage() {
return profileimage;
}
public void setProfileimage(String profileimage) {
this.profileimage = profileimage;
}
public String getFirebaseuid() {
return firebaseuid;
}
public void setFirebaseuid(String firebaseuid) {
this.firebaseuid = firebaseuid;
}
public Date getCreateddate() {
return createddate;
}
public void setCreateddate(Date createddate) {
this.createddate = createddate;
}
public Time getCreatedtime() {
return createdtime;
}
public void setCreatedtime(Time createdtime) {
this.createdtime = createdtime;
}
public int getDelete() {
return delete;
}
public void setDelete(int delete) {
this.delete = delete;
}
// public java.util.List<PostDetails> getPostlist() {
// return postlist;
// }
// public void setPostlist(java.util.List<PostDetails> postlist) {
// this.postlist = postlist;
// }
}
当我从userdetails类获取所有数据时,我没有在列表中获取postdetails类,而是在循环中获取userdetails类
[
{
"userid": 1,
"mobilenumber": "null",
"email": "lr5122@srmist.edu.in",
"profilename": "Lawrance Raj (PA1912005020001)",
"profileimage": "https://lh6.googleusercontent.com/-ZokXcLoflks/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnDyqHvXP3sA_7POR3ejVvw2KM-4A/photo.jpg",
"firebaseuid": "GtPkv3DbGhXct30HYA5VprxeWDm1",
"createddate": "2020-09-02",
"createdtime": "19:47:02",
"delete": 1,
"postlist": [
{
"userdetails": {
"userid": 1,
"mobilenumber": "null",
"email": "lr5122@srmist.edu.in",
"profilename": "Lawrance Raj (PA1912005020001)",
"profileimage": "https://lh6.googleusercontent.com/-ZokXcLoflks/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnDyqHvXP3sA_7POR3ejVvw2KM-4A/photo.jpg",
"firebaseuid": "GtPkv3DbGhXct30HYA5VprxeWDm1",
"createddate": "2020-09-02",
"createdtime": "19:47:02",
"delete": 1,
"postlist": [
{
"userdetails": {
"userid": 1,
"mobilenumber": "null",
"email": "lr5122@srmist.edu.in",
"profilename": "Lawrance Raj (PA1912005020001)",
"profileimage": "https://lh6.googleusercontent.com/-ZokXcLoflks/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnDyqHvXP3sA_7POR3ejVvw2KM-4A/photo.jpg",
"firebaseuid": "GtPkv3DbGhXct30HYA5VprxeWDm1",
"createddate": "2020-09-02",
"createdtime": "19:47:02",
"delete": 1,
"postlist": [
{
"userdetails": {
"userid": 1,
"mobilenumber": "null",
"email": "lr5122@srmist.edu.in",
"profilename": "Lawrance Raj (PA1912005020001)",
"profileimage": "https://lh6.googleusercontent.com/-ZokXcLoflks/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnDyqHvXP3sA_7POR3ejVvw2KM-4A/photo.jpg",
"firebaseuid": "GtPkv3DbGhXct30HYA5VprxeWDm1",
"createddate": "2020-09-02",
"createdtime": "19:47:02",
"delete": 1,
"postlist": [
{
"userdetails": {
"userid": 1,
"mobilenumber": "null",
"email": "lr5122@srmist.edu.in",
"profilename": "Lawrance Raj (PA1912005020001)",
"profileimage": "https://lh6.googleusercontent.com/-ZokXcLoflks/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnDyqHvXP3sA_7POR3ejVvw2KM-4A/photo.jpg",
"firebaseuid": "GtPkv3DbGhXct30HYA5VprxeWDm1",
"createddate": "2020-09-02",
"createdtime": "19:47:02",
"delete": 1,
"postlist": [
{
"userdetails": {
"userid": 1,
"mobilenumber": "null",
"email": "lr5122@srmist.edu.in",
"profilename": "Lawrance Raj (PA1912005020001)",
"profileimage": "https://lh6.googleusercontent.com/-ZokXcLoflks/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnDyqHvXP3sA_7POR3ejVvw2KM-4A/photo.jpg",
"firebaseuid": "GtPkv3DbGhXct30HYA5VprxeWDm1",
"createddate": "2020-09-02",
"createdtime": "19:47:02",
"delete": 1,
"postlist": [
{
"userdetails": {
"userid": 1,
"mobilenumber": "null",
"email": "lr5122@srmist.edu.in",
"profilename": "Lawrance Raj (PA1912005020001)",
"profileimage": "https://lh6.googleusercontent.com/-ZokXcLoflks/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnDyqHvXP3sA_7POR3ejVvw2KM-4A/photo.jpg",
"firebaseuid": "GtPkv3DbGhXct30HYA5VprxeWDm1",
"createddate": "2020-09-02",
"createdtime": "19:47:02",
"delete": 1,
"postlist": [
{
"userdetails": {
"userid": 1,
"mobilenumber": "null",
"email": "lr5122@srmist.edu.in",
"profilename": "Lawrance Raj (PA1912005020001)",
"profileimage": "https://lh6.googleusercontent.com/-ZokXcLoflks/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnDyqHvXP3sA_7POR3ejVvw2KM-4A/photo.jpg",
"firebaseuid": "GtPkv3DbGhXct30HYA5VprxeWDm1",
"createddate": "2020-09-02",
"createdtime": "19:47:02",
"delete": 1,
"postlist": [
{
"userdetails": {
"userid": 1,
"mobilenumber": "null",
"email": "lr5122@srmist.edu.in",
"profilename": "Lawrance Raj (PA1912005020001)",
"profileimage": "https://lh6.googleusercontent.com/-ZokXcLoflks/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnDyqHvXP3sA_7POR3ejVvw2KM-4A/photo.jpg",
"firebaseuid": "GtPkv3DbGhXct30HYA5VprxeWDm1",
"createddate": "2020-09-02",
"createdtime": "19:47:02",
"delete": 1,
"postlist": [
{
"userdetails": {
"userid": 1,
"mobilenumber": "null",
"email": "lr5122@srmist.edu.in",
"profilename": "Lawrance
就像这样,它是一个大的不定式循环,我不知道为什么我尝试了所有的方法,我找不到解决方案。有人帮我找到解决方案吗…解决方案:
使用
@第一个实例化对象的JsonManagedReference注释
@实例化的第二个对象的JsonBackReference注释
[
{
"userid": 1,
"mobilenumber": "null",
"email": "lr5122@srmist.edu.in",
"profilename": "Lawrance Raj (PA1912005020001)",
"profileimage": "https://lh6.googleusercontent.com/-ZokXcLoflks/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnDyqHvXP3sA_7POR3ejVvw2KM-4A/photo.jpg",
"firebaseuid": "GtPkv3DbGhXct30HYA5VprxeWDm1",
"createddate": "2020-09-02",
"createdtime": "19:47:02",
"delete": 1,
"postlist": [
{
"userdetails": {
"userid": 1,
"mobilenumber": "null",
"email": "lr5122@srmist.edu.in",
"profilename": "Lawrance Raj (PA1912005020001)",
"profileimage": "https://lh6.googleusercontent.com/-ZokXcLoflks/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnDyqHvXP3sA_7POR3ejVvw2KM-4A/photo.jpg",
"firebaseuid": "GtPkv3DbGhXct30HYA5VprxeWDm1",
"createddate": "2020-09-02",
"createdtime": "19:47:02",
"delete": 1,
"postlist": [
{
"userdetails": {
"userid": 1,
"mobilenumber": "null",
"email": "lr5122@srmist.edu.in",
"profilename": "Lawrance Raj (PA1912005020001)",
"profileimage": "https://lh6.googleusercontent.com/-ZokXcLoflks/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnDyqHvXP3sA_7POR3ejVvw2KM-4A/photo.jpg",
"firebaseuid": "GtPkv3DbGhXct30HYA5VprxeWDm1",
"createddate": "2020-09-02",
"createdtime": "19:47:02",
"delete": 1,
"postlist": [
{
"userdetails": {
"userid": 1,
"mobilenumber": "null",
"email": "lr5122@srmist.edu.in",
"profilename": "Lawrance Raj (PA1912005020001)",
"profileimage": "https://lh6.googleusercontent.com/-ZokXcLoflks/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnDyqHvXP3sA_7POR3ejVvw2KM-4A/photo.jpg",
"firebaseuid": "GtPkv3DbGhXct30HYA5VprxeWDm1",
"createddate": "2020-09-02",
"createdtime": "19:47:02",
"delete": 1,
"postlist": [
{
"userdetails": {
"userid": 1,
"mobilenumber": "null",
"email": "lr5122@srmist.edu.in",
"profilename": "Lawrance Raj (PA1912005020001)",
"profileimage": "https://lh6.googleusercontent.com/-ZokXcLoflks/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnDyqHvXP3sA_7POR3ejVvw2KM-4A/photo.jpg",
"firebaseuid": "GtPkv3DbGhXct30HYA5VprxeWDm1",
"createddate": "2020-09-02",
"createdtime": "19:47:02",
"delete": 1,
"postlist": [
{
"userdetails": {
"userid": 1,
"mobilenumber": "null",
"email": "lr5122@srmist.edu.in",
"profilename": "Lawrance Raj (PA1912005020001)",
"profileimage": "https://lh6.googleusercontent.com/-ZokXcLoflks/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnDyqHvXP3sA_7POR3ejVvw2KM-4A/photo.jpg",
"firebaseuid": "GtPkv3DbGhXct30HYA5VprxeWDm1",
"createddate": "2020-09-02",
"createdtime": "19:47:02",
"delete": 1,
"postlist": [
{
"userdetails": {
"userid": 1,
"mobilenumber": "null",
"email": "lr5122@srmist.edu.in",
"profilename": "Lawrance Raj (PA1912005020001)",
"profileimage": "https://lh6.googleusercontent.com/-ZokXcLoflks/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnDyqHvXP3sA_7POR3ejVvw2KM-4A/photo.jpg",
"firebaseuid": "GtPkv3DbGhXct30HYA5VprxeWDm1",
"createddate": "2020-09-02",
"createdtime": "19:47:02",
"delete": 1,
"postlist": [
{
"userdetails": {
"userid": 1,
"mobilenumber": "null",
"email": "lr5122@srmist.edu.in",
"profilename": "Lawrance Raj (PA1912005020001)",
"profileimage": "https://lh6.googleusercontent.com/-ZokXcLoflks/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnDyqHvXP3sA_7POR3ejVvw2KM-4A/photo.jpg",
"firebaseuid": "GtPkv3DbGhXct30HYA5VprxeWDm1",
"createddate": "2020-09-02",
"createdtime": "19:47:02",
"delete": 1,
"postlist": [
{
"userdetails": {
"userid": 1,
"mobilenumber": "null",
"email": "lr5122@srmist.edu.in",
"profilename": "Lawrance Raj (PA1912005020001)",
"profileimage": "https://lh6.googleusercontent.com/-ZokXcLoflks/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnDyqHvXP3sA_7POR3ejVvw2KM-4A/photo.jpg",
"firebaseuid": "GtPkv3DbGhXct30HYA5VprxeWDm1",
"createddate": "2020-09-02",
"createdtime": "19:47:02",
"delete": 1,
"postlist": [
{
"userdetails": {
"userid": 1,
"mobilenumber": "null",
"email": "lr5122@srmist.edu.in",
"profilename": "Lawrance