我在我的项目中使用Spring数据JPA。当实体被保存或更新时,我想跟踪CreatedBy和LastModifiedBy,以了解哪个用户执行该活动。但我面临的问题是,我有两种不同类型的用户。这些是系统用户和加油机。这两种用户类型都有权在任何实体中执行CRUD操作。
另一件事是,我见过大多数示例将@CreatedBy
和@LastModifiedBy
作为字符串字段保存。但问题是从数据库中检索数据时,他们将检索为用户ID(字符串值)。我需要将用户ID存储为字符串,但在检索时,应该提供用户的所有详细信息,如用户ID、姓名、性别等。
public class Record extends Auditable<String> implements Serializable {}
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public abstract class Auditable<T> {
@CreatedBy
protected T createdBy;
@Temporal(TemporalType.TIMESTAMP)
@CreatedDate
protected Date createdDate;
@LastModifiedBy
protected T lastModifiedBy;
@Temporal(TemporalType.TIMESTAMP)
@LastModifiedDate
protected Date lastModifiedDate;
}
此外,我还有一个带有@MappedSuperClass
注释的公共类,该类由SysUser和refuer扩展。但当我试图将公共类添加为如下所示的字段时
“Basic”属性类型不应为“Mapped Superclass”
private CommonEntity crUsr;
private CommonEntity upUsr;
那么我怎样才能做到这一点呢?有人能帮我吗?提前谢谢。
嗯,你可以在这里做一件事。创建一个名为User的公共类,将SysUser和refuer中的所有公共属性放在该类中。然后可以在类中扩展它,并在子类中只保留不同的字段。这样,任何执行该操作的用户都将属于用户类。
之后,你可以在课堂上做类似的事情:
public class Record extends Auditable<String> implements Serializable {}
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public abstract class Auditable<User> {
@CreatedBy
protected User createdBy;
@Temporal(TemporalType.TIMESTAMP)
@CreatedDate
protected Date createdDate;
@LastModifiedBy
protected T lastModifiedBy;
@Temporal(TemporalType.TIMESTAMP)
@LastModifiedDate
protected Date lastModifiedDate;
}
这应该可以解决你的问题。
我是Spring启动的新手。我尝试使用Spring Security和Hibernate实现登录和注册功能。 首先,我使用Hibernate从数据库生成持久性映射实体类。我需要在UserEntity类中实现UserDetails接口,但问题发生了。 我无法在UserDetails中实现这些方法。 尝试实现GetAuthories时出错。以下是错误信息。 “Basic”属性类型不应是容器。检查信息:
我正在试用IntelliJ IDEA,它警告我一个我不太理解的冬眠协会。 一面: 为了检查一下精神状况,我看了这篇文章,也看了这篇文章。
“一对多”属性值类型不应为“持久性实体”
我正在引用另一个实体类中的实体,并出现此错误。下面是示例代码。我有这些课程在坚持。还有xml。 是什么导致了这个问题?我正在使用Spring数据JPA和Hibernate。
您好,我正在建立一个动物园微服务,包括动物、员工、客户和价格表。我的动物微服务可以工作,但在我的员工微服务中,我遇到了一个错误,即没有为类型“EmployeeModel”找到属性“name”。在问这个问题之前,我已经在网上搜索了几个小时,还有一些类似的问题。我在模型中没有“名字”employee_name,我只是感到困惑,不知道如何修复它。任何指导/建议/信息将不胜感激:)第一次发布,所以我希望我
我使用的是完全修补过的Visual Studio 2013。我正在尝试使用JQuery、JQueryUI和JSRender。我也在尝试使用打字。在ts文件中,我得到如下错误: 类型“{}”上不存在属性“fade div”。