Spring Framework是Java平台上应用程序开发的开源框架。其核心是对基于组件的体系结构的丰富支持,目前它拥有20多个高度集成的模块。
Spring Boot:org.hibernate.StaleObjectStateException - 行已被另一个事务更新或删除
我在尝试在 Spring Boot 应用程序中保存 FlightInstance 实体时遇到了由 StaleObjectStateException 引起的 ObjectOptimisticLockingFailureException。完整堆栈
我在尝试测试我的 @Controller 的方法之一时收到 415 错误。 这是我的代码。 测试类: @SpringBootTest(类= APIController.class) @AutoConfigureMockMvc APIControllerT 类...
升级到 6.6.3 后出现 Hibernate StaleObjectStateException:行已被另一个事务更新或删除,或者未保存的值映射不正确
我有两个 PostgreSQL 表:一个用于产品,另一个用于包含 SEO 详细信息的图库图像。以下是架构: 如果 test_product 不存在则创建表 ( id bigserial 不为空,
Spring AMQP 错误:无法使用传入消息调用侦听器方法
我有课: 公共类 MqMessage 实现可序列化 { 私有字符串事件; 私有字符串绝对路径; private boolean isDirectory; 私有整数哈希; 私有节点
我创建了新的自定义注释@MyCustomAnnotation: @Target({ElementType.METHOD, ElementType.TYPE, ElementType.FIELD}) @Retention(运行时) 公共@interface MyCustomAnnotation { } 我申请了
我使用 Lombok 创建其他类。在目标文件夹中构建maven项目后,您可以看到构造函数已生成并且我的项目已组装,但是当尝试启动时...
SQL 查询在 H2 数据库控制台中工作正常,但是当我尝试通过代码执行它时,出现错误 Column "server_id" not found
因此,我尝试创建一个 MySQL 联接,以便获取服务器的所有消息,并将发件人的用户名附加到每条消息。 SQL 在 H2 控制台中运行良好,但是当我尝试执行时...
如何使用 Kotlin Spring 创建通用的基本 REST 控制器?
我正在开发一个项目,其中每个端点都应以前缀 /query 开头,并且所有端点都应使用 GET 方法。 我从以下基类开始 导入 org.springframework...
如何编写自定义 Spring Security PreAuthorize 注解
我在 spring-boot 应用程序中设置了 Spring Security。我可以添加 @PreAuthorize 注释来通过调用我自己的 TenantSecurityService 来检查方法的授权: @PostMapping @PreAuthorize(&qu...
无法避免使用 Spring Boot 和 Logback 将休眠日志记录 SQL 到控制台
尽管我使用 Logback 配置了 Hibernate 的特定日志记录,但我的 Spring Boot 应用程序仍然在控制台中显示 Hibernate 查询,如下所示: 尽管我使用 Logback 配置了 Hibernate 的特定日志记录,但我的 Spring Boot 应用程序仍然在控制台中显示 Hibernate 查询,如下所示: <appender name="HIBERNATE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${LOGDIR}/hibernate.log</file> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} - %msg%n</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${LOGDIR}/hibernate.log.%d</fileNamePattern> </rollingPolicy> </appender> <logger name="org.hibernate" additivity="false"> <appender-ref ref="HIBERNATE"/> </logger> <logger name="org.hibernate.SQL" additivity="false"> <appender-ref ref="HIBERNATE"/> </logger> <logger name="org.hibernate.type.descriptor.sql" additivity="false"> <appender-ref ref="HIBERNATE"/> </logger> 它确实将 Hibernate 的日志(包括查询)发送到文件 hibernate.log。但我也想避免控制台中的查询,我认为这种配置应该发生这种情况。 我错过了什么? 我只是想分享一下,我刚刚注意到还有另一个设置可能会导致 org.hibernate.SQL 在 Spring Boot JUnit 测试中进行调试,尽管您可能已经设置了 spring.jpa.show-sql=false 和 spring.jpa.properties.hibernate.show_sql=false ... 如果你设置了 debug=true 在您的 Spring 应用程序*.properties 文件中! 将此设置为 true 将覆盖 show-sql 设置并将其设置为 true。 Brgds 如果将 hibernate.show_sql 设置为 true,Hibernate 将简单地将 SQL 语句打印到控制台(不要与 org.hibernate.SQL 下的日志记录混淆)。 SqlStatementLogger 负责记录 SQL 语句,其 logStatement 如下所示: public void logStatement(String statement, Formatter formatter) { if ( format ) { if ( logToStdout || LOG.isDebugEnabled() ) { statement = formatter.format( statement ); } } LOG.debug( statement ); if ( logToStdout ) { System.out.println( "Hibernate: " + statement ); } } 因此,如果您不想在控制台上看到查询,只需将其设置为 hibernate.show_sql 来禁用 false 或将其完全删除即可。在 Spring Boot 中,只需将其添加到您的 application.properties: spring.jpa.show-sql=false 您基本上需要将 2 个属性设置为 false。 如果您使用 Spring boot ,则在 Application.properties 中进行如下设置 spring.jpa.properties.hibernate.generate_statistics=false spring.jpa.properties.hibernate.show_sql=false 如果您使用 hibernate.cfg.xml,则按如下方式设置 <property name="hibernate.generate_statistics">false</property> <property name="show_sql">false</property> 如果有人尝试了上述所有方法但仍然存在问题,请尝试设置属性: logging.level.org.hibernate.SQL=OFF 我的应用程序是一个 spring-boot 的应用程序, 由于某种原因,在我的例子中,属性“spring.jpa.show-sql=false”不起作用。 我可以看到带有绑定值的 sql 继续在控制台/日志中打印查询。 通过将根级别更改为错误即可解决,如下所示 <root level="ERROR"> <appender-ref ref="STDOUT"/> </root> 虽然我们将根目录中的日志级别更改为错误,但我们仍然可以使用如下所示的单独记录器在信息模式下打印包/应用程序日志 <logger name="com.application.code" level="INFO"> <appender-ref ref="FILE"/> <appender-ref ref="ERR_FILE"/> </logger> 放在这里,这样可能会对某人有所帮助。 谢谢 如果您使用DataJpaTest,您需要设置@DataJpaTest(showSql = false),因为它会覆盖application.properties
从另一个实验室访问文件时出现 Spring FileNotFoundException
我是一名初学者,我正在按照 Spring Academy 教程来学习 Spring。我目前在 Spring Essentials/模块 2/Spring 配置实验室。我目前正在使用“12-javaconfig-
如何在收到请求时和返回响应之前在 Spring 应用程序中记录信息
我当前的解决方案提供了过多的日志记录。 Spring是否提供了一些东西来解决这个问题? 设想: 当用户请求 swagger 页面 (/swagger-ui/index.html) 然后我预计只会看到 2 log li...
Spring API 接收到 Angular post 请求正文时为空
我正在从一个简单的角度应用程序提交请求来测试我所做的 Spring 端点。同样的json在我通过postman提交的时候处理成功了,所以我怀疑有什么...
Spring Security 6.0 允许我看到 h2-console 登录页面,但不允许我进入,我该怎么办?
我正在努力在 Spring Security 6.0 的保护下访问我的 h2 控制台,这是代码 @豆 公共SecurityFilterChain securityFilterChain(HttpSecurity http)抛出异常{ ...
log4j2 无法在 Spring Boot 应用程序中工作
我尝试在 Spring 应用程序中使用 log4j2 而不是 logback,但它不断抛出错误。 pom 文件看起来像 org.springframework.boot...
在 Spring Boot 中使用 dev 和 prod 配置文件?
在 Spring Boot 3.4.1 中配置配置文件必须做什么?我在多个网站(即此处)上读到,有一个带有默认 application.yml 的命名方案,如果需要更多文件,例如......
我正在尝试在 websphere-liberty:springBoot2 docker 映像上设置数据源。我共享一个 war 文件和一个包含 jdni 定义的 server.xml 文件 我正在尝试在 websphere-liberty:springBoot2 docker 映像上设置数据源。我共享了 一个 war 文件 和一个 server.xml 文件,其中包含 jdni 定义 <dataSource id="oracle" jndiName="jdbc/oracle"> <jdbcDriver libraryRef="OracleLib"/> <properties ....... /> </dataSource> war文件有bean定义: <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="jdbc/oracle"/> <property name="lookupOnStartup" value="false"/> <property name="cache" value="true" /> <property name="proxyInterface" value="javax.sql.DataSource" /> </bean> 但是出现下一个错误堆栈: Invocation of init method failed; nested exception is org.springframework.jndi.JndiLookupFailureException: JndiObjectTargetSource failed to obtain new target object; nested exception is javax.naming.NamingException: CWWKE0800W: An attempt was made to retrieve an initial context for [jdbc/oracle] but no JNDI feature is configured. 我将 server.xml 和 ojdbc8.jar 共享到容器。预先感谢。 您需要通过将 <feature>jndi-1.0</feature> 添加到 server.xml 的 <featureManager> 元素来启用 JNDI 功能并且您可能希望使用 Oracle 特定配置元素 properties.oracle 而不是通用驱动程序配置元素 properties 当您从 java 8 升级到 java 17 并且没有设置 JAVA_HOME 时,也可能会发生这种情况。就我而言,因为我曾经使用 jenv 来管理我的 JDK 并且它无法通过 JAVA_HOME 工作,所以它会失败并出现相同的错误。
如果我已经为调用 DAO 类的服务编写了测试,我是否应该为 DAO 类编写集成测试?
我刚刚为控制器中的每个端点编写了集成测试,现在我不确定是否必须为支持它们的 DAO 类编写更多测试。 (我在这里参与 Spring 项目。) 它...
在 Spring boot 应用程序中覆盖默认 Filter 的行为
我有一个 Spring Boot 应用程序。当我调用应用程序时,我发送一个名为 X-ID 的标头。我的应用程序中有一个只读库,它有一个过滤器,可以验证我...
希望您假期愉快。 我现在正在做一个小项目,需要你的帮助。 我想动态地将信息从父步骤传递到其子步骤。 我有一个春季批次...