我正在尝试使用Spring数据的审核功能(与Spring Boot和Spring数据Rest结合使用),但审核字段没有设置在save上。所有保存操作都会导致试图保存空“创建人”的约束异常
根据spring数据文档,我应该能够在实体上放置适当的审计注释(@CreatedDate/etc),并制作一个AuditorAware
我的问题是:
1)我是否有必要创建一个AuditingEntityListener,或者我是否应该期望通过@EnableJpaAudting提供一个?(文档中没有明确说明java配置)
2)下面的代码中是否有其他设置自动审核的配置?
3) 我将创建代码从POST调用到Spring Data Rest,将此审计功能与Spring Data Rest结合使用是否有任何特殊的注意事项?
@Entity
public class Tag implements Serializable {
// ... other fields omitted...
@CreatedDate
@Temporal(TemporalType.TIMESTAMP)
private Date created = new Date();
@CreatedBy
@Basic(optional = false)
@Column(name = "CREATED_BY", nullable = false, length = 24)
private String createdBy = "";
@LastModifiedDate
@Basic(optional = false)
@Column(nullable = false)
@Temporal(TemporalType.TIMESTAMP)
private Date updated = new Date();
@LastModifiedBy
@Basic(optional = false)
@Column(name = "UPDATED_BY", nullable = false, length = 24)
private String updatedBy = "";
// ... getters and setters were generated ...
以及配置:
@EnableJpaAuditing
@Configuration
public class AuditingConfig {
@Bean
public AuditorAware<String> createAuditorProvider() {
return new SecurityAuditor();
}
@Bean
public AuditingEntityListener createAuditingListener() {
return new AuditingEntityListener();
}
public static class SecurityAuditor implements AuditorAware<String> {
@Override
public String getCurrentAuditor() {
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
String username = auth.getName();
return username;
}
}
}
非常感谢您的帮助,谢谢!
1)我是否有必要创建一个AuditingEntityListener,或者我是否应该期望通过@EnableJpaAudting提供一个?(文档中没有明确说明java配置)
答:不,您不需要定义AuditingEntityListener
bean。相反,您需要在域类上指定@EntityListeners(AuditingEntityListener.class)
。
e、 g。
@Entity
@EntityListeners(AuditingEntityListener.class)
public class Tag implements Serializable {
}
2)下面的代码中是否有其他设置自动审核的配置?
回答:其他配置设置看起来不错。
3) 我将创建代码从POST调用到Spring Data Rest,将此审计功能与Spring Data Rest结合使用是否有任何特殊的注意事项?
答:我想不会。试试上面建议的改变。它应该会起作用。
希望有人能帮我。我正在用mongo处理一个spring数据,但不知为什么它给了我一个运行时错误: null 我的mongo-config.xml: null 提前道谢!
我有一个基于Spring框架的项目,它只基于Java配置进行初始化。这意味着不需要使用web.xml文件。 您可以在下面的图像中看到项目的结构: Java 7 Spring framework 4.2.1.发布 HibernateORM 5.0.4.final Spring Tool Suite IDE 3.6.2 Maven3 Tomcat 7 数据源 而SystemSettings保存数据库的
我正在读《Web应用程序的专业Java——尼古拉斯·威廉姆斯》这本书的例子对Spring Data JPA有这样的配置: 但我一直在使用XML进行配置,我不知道如何仅将其转换为XML,到目前为止我已经有了这个 有谁能指导我如何转换这个吗? 谢谢
问题内容: 目前,我正在使用带有@Transactional批注的DriverManagerDataSource来管理事务。但是所有事务都非常非常慢,这可能是因为数据源每次都打开和关闭与db的连接。 我应该使用什么数据源来加快交易速度? 问题答案: 实际上不是连接池,只能用于测试。您应该尝试使用Apache Commons DBCP 。就像是:
我试图创建一个Spring启动应用程序使用Sqlite数据库。 我在pom中添加了sqlite-jdbc和sqlite-方言依赖。 我的apllication.properties文件是: 但我在启动应用程序时遇到以下异常: 我错过了什么?