我有一个基本的弹簧安全登录/注销设置工作, 我有一个对象MyObject,它有一个属性created_by,其中包含创建该对象的用户的user_id。我还得到了REST调用,以便我将当前正在调用list函数的用户的对象作为属性。
我现在想要做的是过滤user_id创建的对象。对于hibernate来说,我认为我必须在对象created_by属性中定义User,因为hibernate与实体一起工作。
e.g:
public class MyObject implements Serializable {
...
@Column(name = "created_by")
org.springframework.security.core.userdetails.User created_by;
...
}
但是当我现在列出我得到的所有MyObject对象时:
org.hibernate.type.SerializationException: could not deserialize
我尝试在created_by成员上使用@OneToMany,但后来我得到了:
MyObject.created_by references an unknown entity: org.springframework.security.core.userdetails.User
由于它在没有用户输入的情况下工作,因此用户对象的序列化应该存在一些问题。我重新确定了其他对象的serial_ID,但问题仍然存在。有没有我错过或不可能的东西,我需要实现一个自定义用户来做我想要的。
答案 0 :(得分:0)
Spring Security没有任何JPA支持,因此如果您想要查询用户属性,则必须使用自己的用户实体。如果您只需要查询用户名,则可以执行以下快捷方式:
@Column
private String created_by;