小编kul*_*uda的帖子

Spring JpaRepostory delete vs deleteInBatch

Spring中JpaRepostory delete(...)deleteInBatch(...)方法有什么区别?第二个"删除一个SQL语句中的项目",但从应用程序/数据库的角度来看它意味着什么?为什么存在两种具有相似结果的不同方法,何时使用一种或另一种更好?

编辑: 这同样也适用于deleteAll()deleteAllInBatch()...

java spring spring-data

19
推荐指数
3
解决办法
2万
查看次数

eclipse兼容性中的空分析在7到8之间中断

我在使用Oracle java 8u25的Windows 7 64位上的Spring工具套件3.6.2(Eclipse clon)下遇到了奇怪的nullcheck分析行为.与java 7源兼容性相同的maven项目在eclipse中成功找到NPE错误,但是当我将maven中的编译版本更改为java 1.8时,eclipse无法找到此错误.

我在Eclipse中的nullcheck分析配置(Java-> Compiler-> Errors/Warnings-> Null分析)是:在null分析中包含断言true启用基于注释的分析true NotNull自定义注释正确设置为javax.validation.constraints.NotNull等. (一切似乎没问题,因为它在java 7下工作)

我的maven pom在这里http://pastebin.com/pF1yJSG2,如上所述当pom中的java.version是1.7 null检查工作时,当1.8为空时检查不起作用.

示例源代码是:

package test.nullcheckbug.core;

import javax.validation.constraints.NotNull;

public class Program {

/**
 * This will fail to compile under java 7 (null analysis works in STS
 * 3.6.2). But under java 8 it does not show error in Eclipse Markers -
 * static analysis does not work ?!
 * 
 * @return null which is not allowed
 */
@NotNull
public String fail() { …
Run Code Online (Sandbox Code Playgroud)

java eclipse maven sts-springsourcetoolsuite null-check

5
推荐指数
1
解决办法
555
查看次数

Keycloak 是否支持基本身份验证?

Keycloak 是否支持基本身份验证(包含单词 Basic 单词后跟一个空格和一个 base64 编码字符串 username:password 的授权标头),如果支持,我如何为其配置领域和客户端设置?我想用 Keycloak 保护我的 rest api 并支持基本身份验证作为一个选项。

java keycloak

5
推荐指数
1
解决办法
5959
查看次数

来自 oracle 的数据库链接 -> ms sql ORA-28545 & ORA-02063

我们在 Windows Server 2016 上安装了 Oracle 12c,在 Windows Server 2019 上安装了 MS SQL Server 2017。

当我们尝试通过SELECT count(*) FROM SMSOUT@TOSIMSQLSERVER从 Oracle -> MS SQL 使用数据库链接时,我们得到以下错误:

ORA-28545: error diagnosed by Net8 when connecting to an agent
Unable to retrieve text of NETWORK/NCR message 65535
ORA-02063: preceding 2 lines from TOSIMSQLSERVER
28545. 0000 -  "error diagnosed by Net8 when connecting to an agent"
*Cause:    An attempt to call an external procedure or to issue SQL
           to a non-Oracle system on a …
Run Code Online (Sandbox Code Playgroud)

sql-server oracle

5
推荐指数
1
解决办法
2025
查看次数

Spring ScriptUtils - PostgreSQL 中未终止的美元报价

我使用以下 Java 代码来运行 SQL 脚本:

@SpringBootApplication
public class Application implements CommandLineRunner {
  @Autowired
  DataSource ds;

  @Value("classpath:test.sql")
  Resource resource;

  public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
  }

  @Override
  public void run(String... args) throws Exception {
    try {
      @Cleanup
      Connection c = ds.getConnection();
      ScriptUtils.executeSqlScript(c, resource);

    } catch (Exception e) {
      e.printStackTrace();
    }

  }

}
Run Code Online (Sandbox Code Playgroud)

我使用的 Spring boot 版本是 2.1.7.RELEASE,PostgreSQL 通过以下方式在本地 docker 镜像中运行:

docker run --rm   --name pg-docker -e POSTGRES_PASSWORD=PASSWORD -d -p 5432:5432 -v postgresql:/var/lib/postgresql/data  postgres:11.3
Run Code Online (Sandbox Code Playgroud)

我使用的 SQL 脚本是:

CREATE OR REPLACE …
Run Code Online (Sandbox Code Playgroud)

java postgresql spring spring-jdbc

4
推荐指数
2
解决办法
4102
查看次数

在 spring testng 测试方法上禁用事务

我正在将 TestNG 与 Spring 和 JPA 一起使用。到目前为止,我正在使用我的测试类来测试数据库内容,该类扩展了AbstractTransactionalTestNGSpringContextTests. 随着@TransactionConfiguration(defaultRollback = true)一切工作正常,我并不需要有关清理卡里。Spring 在我的每个测试方法的开头创建一个默认事务,然后回滚。这是解决著名的“事务性测试被认为有害”问题的一个非常巧妙的技巧。

不幸的是,我需要这个类中的一种方法(一个测试)没有这个默认事务。这是因为此测试方法模拟批处理,并且我在其中有多个独立于生产的事务。我能够模拟和解决问题的唯一方法是配置这些内部事务,Propagation.REQUIRES_NEW但我不想在生产代码中使用。有没有一些方法来禁用Spring的事务对我特别的测试方法(所以我并不需要使用Propagation.REQUIRES_NEW,但Propagation.REQUIRED在我的服务方法)?

java testng spring jpa transactions

2
推荐指数
1
解决办法
5506
查看次数