@Entity
@Table(name = "auth_user")
public class OAuthUser {
// @Autowired
// @Transient
// private PasswordEncoder passwordEncoder;
//
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(name = "username")
private String userName;
@Column(name = "password")
@JsonIgnore
private String password;
@Column(name = "first_name")
private String firstName;
@Column(name = "last_name")
private String lastName;
@Column(name = "email")
private String email;
@Column(name = "is_enabled")
private boolean isEnabled;
/**
* Reference:
* https://github.com/nydiarra/springboot-jwt/blob/master/src/main/java/com/nouhoun/springboot/jwt/integration/domain/User.java
* Roles are being eagerly loaded here because they are a fairly small
* collection of items for this example.
*/
@ManyToMany(fetch = FetchType.EAGER)
@Fetch(value = FetchMode.SUBSELECT)
@JoinTable(name = "user_role", joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id"), inverseJoinColumns = @JoinColumn(name = "role_id", referencedColumnName = "id"))
private List<Role> roles;
@ManyToMany(fetch = FetchType.EAGER)
@Fetch(value = FetchMode.SUBSELECT)
@JoinTable(name = "user_properties", joinColumns = @JoinColumn(name = "AuthID", referencedColumnName = "id"), inverseJoinColumns = @JoinColumn(name = "PropertyID", referencedColumnName = "id"))
private List<Property> properties;
@Query("SELECT u FROM auth_user as u WHERE u.isEnabled AND u.id IN"
+ " (SELECT r.user_id FROM user_role as r WHERE r.role_id = ?1)")
public List<OAuthUser> findByRole(int roleID);
谢了。
错误表示:
未映射auth_user
它引用查询中使用的auth_user
,就像select u FROM auth_user
一样。在查询中,它必须是oAuthUser
。
问题内容: 我有一个使用联接表建模的一对多关系: 这些表应该模拟一个t1与多个t2的关系。使用JPA为这些表建模的正确方法是什么? 问题答案: 一个T1到多个T2的典型表是在T2上有一个指向T1的外键。通常不需要T1_T2表。 这样,JPA结构将是一对多的,可能是双向的。 可能会有一些安排,以使您描述的结构起作用。您可以更改T1_T2: 在T2上添加唯一约束(以便仅允许一个T2) 那真的是你想要的
我有两个多对多关联的表。 DB详细信息:用户-->列[Id,name]
问题内容: 我正在使用Microsoft SQL Server Management Studio,并且在创建联结表时是否应该为联结表创建ID列,如果需要,还应将其设为主键和标识列吗?还是为我要加入的多对多关系表保留2列? 例如,如果这将是多对多表: 我应该制作联结表吗: [并将我的主键用作身份列]? 或者: [并且只保留它没有主键或身份表]? 问题答案: 我将使用第二个联结表: 主键将是两列的组
是否可以与用户建立多对多关系?我试图制作一个简单的实体 但是当我从列表中选择用户并选择Save时,它给出了错误 org.springframework.dao.InvalidDataAccessApiUsageExc的:org.hibernate.瞬态对象异常:对象引用未保存的瞬态实例-保存瞬态实例前冲洗:com.mycompany.myapp.domain.用户;嵌套异常java.lang.Il
问题内容: 我有2张桌子: 电影:movieID 用户:userID 这些表通过Queue表具有多对多关系,并带有一个附加属性listOrder: 队列:movieID,userID,listOrder 我正在尝试使用EclipseLink对此模型建模,但是却收到“不兼容映射”错误。这是我的代码的示例: QueueItemPK的目的是使我可以拥有movieID和userID的复合主键。我不确定这是
比如我们要关联用户和角色之间的关系,就要用到多对多。多对多需要一张中间表来做关联。 定义 多对多关联会用到的注解: @ManyToMany、@JoinFromMiddle、@JoinToMiddle、@AutoSelect、@AutoInsert、@AutoUpdate、@AutoSave、@AutoDelete 如 imi-demo 中代码所示,类定义了一个$userRole属性和$role属性