我目前在这段关系中遇到了问题,我已经尝试了我在互联网上看到的一切。尽管如此,我还是得到了这个错误:error:column roles0\u0。用户id不存在。
我有一个具有Spring Security性的启动应用程序,我需要使用PostgreSQL数据库中的用户登录。
但我就是无法让用户和角色之间的关系发挥作用。
以下是实体类:
@Data
@Entity
@Table(name="user",schema = "public")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "user_id")
private Integer id;
@Column(unique = true)
private String username;
private String password;
private boolean enabled;
@OneToMany(mappedBy = "user", fetch = FetchType.EAGER)
private List<Role> roles;
}
@Data
@Entity
@Table(name="role",schema = "public")
public class Role {
@Id
@Column(name="role_id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String name;
@ManyToOne()
@JoinColumn(name ="user_id")
private User user;
}
数据库看起来很好,我看了列名等。我不知道该怎么做才能消除这个错误。我有用户表和另一个名为角色的表,其中包括id和name,2个输入,USER和ADMIN...
@JoinColumn注释似乎需要角色表中的一个附加列,即具有@ManytoOne关系的列,因为当我html" target="_blank">添加该列时,错误消失,但当我尝试从每个用户获取角色时,我会得到一个空列表。外键也被设置,从roles列到role表中的role\u id列。
用户表:
@OneToMany(cascade = CascadeType.ALL, mappedBy = "user", fetch = FetchType.EAGER)
private List<Role> roles;
角色表:
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_id")
private User user;
我是这样工作的:
@Entity
@Data
@Table(name = "users")
public class User{
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "user_roles", joinColumns = {@JoinColumn(name = "user_id", referencedColumnName = "id")},
inverseJoinColumns = {@JoinColumn(name = "role_id", referencedColumnName = "id")})
private List<Role> roles;
}
然后在角色中:
@Entity
@Table(name = "roles")
public class Role{
@ManyToMany(mappedBy = "roles", fetch = LAZY)
private List<User> users;
}
如果您对管理多对多关系的第三个表user\u roles(user\u id,role\u id)没有意见的话
我有表,我不会翻译数据库对象,因为ORM可能使用命名约定。 科雷托尔 当我尝试使用findById时,我得到:org.PostgreSQL L.util.psqlException:error:casavenda0_1_.id_anunciante列不存在提示:也许您是想引用“casavenda0_.id_anunciante”列。
嗨,我有一个角色表和一个权限表,它有多对多的关系。我已经创建了下面链接中提到的实体 https://www.baeldung.com/jpa-多对多 角色实体 权限实体 我已经为每个实体创建了JPA存储库,并且正在尝试将权限保存给一个角色。我在表中已经有了一组/列表的权限,我正在尝试将它们映射到某个角色。我正在尝试使用spring JPA存储库执行下面的代码。 在执行我得到的代码时 org.hib
我有以下课程: DBEntity.java 使用者JAVA 用户服务。JAVA UserRepository.java
我正在学习postgresql,并用elephantsql制作这个表格: 但当我尝试插入到: 它返回:
问题内容: 我正在尝试在PostgreSQL 8.4.2 DB上运行hibernate模式。每当我尝试运行一个简单的Java代码,例如: 我收到以下错误: 由于我将选项hibernate.show_sql选项设置为true,因此可以看到hibernate尝试运行以下SQL命令: 实际上,它至少应运行以下命令: 有谁知道我需要进行哪些更改才能使Hibernate为PostgreSQL生成正确的SQL
此代码崩溃: 原因:组织。postgresql。util。PSQLException:错误:关系“订阅”不存在 spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect Springjpa。数据库平台=组织。冬眠地方话PostgreSQL10方言Spring。jpa。冬眠ddl auto=创建拖放