我需要加入2个表并以JSON方式返回数据。对于HashMap中的这个想法,但我不知道该怎么做。
@Entity
public class User {
//...
}
@Entity
public class Profile {
@JoinColumn(name = "user_id")
@ManyToOne
private User user;
//...
}
public interface UserRepository extends JpaRepository<User, Long>{
//...
}
public interface ProfileRepository extends JpaRepository<Profile, Long>{
//...
}
我需要列表中每个用户的个人资料数量。
John 0
Victor 2
Maria 4
...
答案 0 :(得分:1)
您可以创建映射表并使用该表连接两个表:
@OneToMany(fetch=FetchType.LAZY)
@JoinTable
(
name="USER_PROFILE",
joinColumns={ @JoinColumn(name="USER_ID", referencedColumnName="ID")},
inverseJoinColumns={ @JoinColumn(name="PROFILE_ID", referencedColumnName="ID")}
)
private List<Profile> profileList;
USER_PROFILE表:
当您获得用户列表时,您可以对其进行迭代并获取每个列表的配置文件列表:
ArrayList<User> userList = UserRepository .findAll();
for(user:userList)
{
user.getProfileList().size(); //You can get size for each user
}