gpt4 book ai didi

java - Ebean ManyToMany 与桥表查找所有查询

转载 作者:太空宇宙 更新时间:2023-11-04 12:32:27 25 4
gpt4 key购买 nike

我有三个表:用户(id,名称,登录名,密码),角色(id,名称),user_roles(id,user_id,role_id)

这是我的代码

@Entity
@Table(name = "users")
public class User extends Model {
@Id
public Long id;

public String name;

public String login;

public String password;

@ManyToMany
@JoinTable(
name = "user_roles",
joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id"),
inverseJoinColumns = @JoinColumn(name = "role_id", referencedColumnName = "id")
)
public Set<Role> roles;

public static Finder<Integer, User> find = new Finder<>(User.class);
}

@Entity
@Table(name = "roles")
public class Role extends Model {
@Id
public Long id;

public String name;

@ManyToMany(mappedBy = "roles")
public List<User> users;

public static Finder<Integer, Role> find = new Finder<>(Role.class);
}

我想显示所有具有角色的用户,例如:{"id":1, "name":"我的名字", "login":"我的登录", "password":"我的密码", 角色: [{"name":"ADMIN"}, {"name":"USER"}]}我怎样才能做到这一点?我是 Ebean 和 ORM 的新手。感谢您的帮助。

更新

public Result all() {
List<User> users = User.find.all();
return ok(toJson(users));
}

但现在我收到 stackoverflow 错误无限递归。

最佳答案

使users.role = null然后返回Json

关于java - Ebean ManyToMany 与桥表查找所有查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37705897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com