小编Bor*_*ris的帖子

Hibernate 与 Oracle 和 PostgreSQL 的长文本列

我正在尝试让一个实体在 Spring Boot (1.4.4) 应用程序中与 Oracle (11.2) 和 PostgreSQL(9.4) 一起使用。

我的实体包含一个长文本字段(超过 4000 个字符)。Oracle 中适当的数据类型是 CLOB,PostgreSQL 中相应的类型是 TEXT。

我能够让它与 PostgreSQL 一起工作

@Column(name = "LONG_TEXT", columnDefinition="TEXT")
private String longText;
Run Code Online (Sandbox Code Playgroud)

然而,Oracle 在休眠验证阶段会失败,因为 CLOB 需要 @Lob 注释。

以下代码适用于 Oracle

@Lob
@Column(name = "LONG_TEXT")
private String longText;
Run Code Online (Sandbox Code Playgroud)

然而,这次从 PostgreSQL 读取时失败,出现以下异常:

PSQLException:大对象不能在自动提交模式下使用

堆栈溢出建议在事务中执行查询。忽略在选择查询中调用事务的可疑要求,将 @Transactional 添加到查询方法并没有帮助。

任何想法都非常受欢迎。

java oracle postgresql spring hibernate

6
推荐指数
1
解决办法
5328
查看次数

如何在Java中使用Column.isin?

我正在尝试使用Java中的列表过滤Spark DataFrame.

java.util.List<Long> selected = ....;
DataFrame result = df.filter(df.col("something").isin(????));
Run Code Online (Sandbox Code Playgroud)

问题是该isin(...)方法接受Scala Seq或varargs.

传入JavaConversions.asScalaBuffer(selected)也不起作用.

有任何想法吗?

java apache-spark apache-spark-sql

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

基于Consumer功能接口的单元测试回调

我正在尝试对在 Consumer 功能接口中作为回调运行的代码进行单元测试。

@Component
class SomeClass {

  @Autowired
  private SomeInteface toBeMockedDependency;

  public method() {
     toBeMockedDependency.doSomething(message -> {
        // Logic under test goes here 
        //             (implements java.util.function.Consumer interface)
        ...
     });
  }
}

@RunWith(MockitoJUnitRunner.class)
public class SomeClassTest {
  @InjectMocks
  private SomeClass someClass;
  @Mock
  private SomeInteface toBeMockedDependency;

  @Test
  public void testMethod() {
    ...
    someClass.method();
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

本质上,我想通过“toBeMockedDependency”向测试代码提供一些经过测试的“消息”。

如何模拟“toBeMockedDependency”以提供预定义的消息?
这是正确的方法吗?

unit-testing mockito functional-interface

4
推荐指数
1
解决办法
4897
查看次数

如何从 DataFrame 中选择精确数量的随机行

如何有效地从 DataFrame 中选择精确数量的随机行?数据包含可以使用的索引列。如果我必须在索引列上使用最大大小,count() 或 max() 哪个更有效?

random apache-spark apache-spark-sql

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

是否有解决“带外中断”中 JDBC 驱动程序错误的方法?

当通过 VPN 和其他不太完美的网络使用时,SQL Developer 断开连接是一个长期存在的问题。

根据 SQL Developer Team 的一名成员的说法,这是 JDBC 驱动程序中的一个已知错误,无法应对“带外中断”。他还建议将AddVMOption -Doracle.net.disableOob=true设置为一种解决方法。查看更多信息: OTN 论坛:SQL 开发人员:无法查看表

我想问一下,是否有人知道这个错误正在解决,或者有比上面提出的更好的解决方案?

jdbc oracle-sqldeveloper

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