小编WW.*_*WW.的帖子

通过构造函数传递什么以及通过接口传递什么?

这是关于依赖注入的问题.构造服务对象时,我们在构造阶段通过构造函数传递协作者.服务对象将实现一个接口,并在运行阶段调用该接口.

有时难以知道特定对象是应该通过构造函数传递还是属于服务类实现的接口的一部分?

有关于选择一个选项而不是另一个选项的规则吗?当你知道接口只在你编码的场景中被调用一次时,这个问题就变得非常困难了.

dependency-injection

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

是什么导致Oracle忽略APPEND提示请求它执行直接路径加载?

我希望从一个表到另一个表执行批量数据的串行记录插入.这只是数据迁移的一部分,因此交换分区等不是一个答案.

SQL将具有以下结构:

INSERT /*+ APPEND */ ... SELECT FROM ....
Run Code Online (Sandbox Code Playgroud)

什么可能导致Oracle运行这个常规插入而不是直接路径插入?

例如,我认为在表上触发将导致Oracle进行常规插入.是否有明确的限制清单?

oracle insert hint oracle10g

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

基本身份验证用户名/密码可以使用多长时间?

使用基本身份验证时,对以下长度是否有任何限制:

  • 用户名,
  • 密码,
  • 组合的用户名和密码

常用的客户端或客户端框架是否有任何实际限制?

basic-authentication http-headers

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

是否有一种简洁的方法来创建基于X.getY()排序的Comparator <X>

有没有更短的说法:

final Comparator<ClassA> byName = 
    (final ClassA a1, final ClassA a2) 
        -> a1.getName().compareTo( a2.getName() ));
Run Code Online (Sandbox Code Playgroud)

我知道getName()永远不会返回null.

也许使用方法参考沿着这些方向:

final Comparator<ClassA> byName = ????( ClassA::getName );
Run Code Online (Sandbox Code Playgroud)

java lambda comparator

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

您可以为开发人员编写针对Oracle的优秀SQL提供哪些简单的指导?

我在一组约25名开发人员中工作.我负责提出数据库设计(表格,视图等),并在必要时调用性能调整.

有几个不同的应用程序连接.数据库访问是通过JDBC,hibernate和iBatis SQL映射进行的.具有不同经验水平的开发人员编写SQL语句.

你会给开发人员写出好的SQL什么指导原则?

我的意思是:正确,表现良好,易于理解和维护.

这些只是易于遵循的指导方针 - 我希望让人们在大多数情况下走上正轨.我们将在有意义的时候打破这些准则.

编辑:我们对通过jira工作流强制执行的所有源提交(SQL,java等)进行了代码审查.

sql oracle plsql

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

在 where 子句中使用 sum() 进行 Oracle 查询

我有一个包含两列数量和描述的表格。现在我需要类似 Select description from tab where sum(amount) > 5000 我猜这是不可能的。是否有任何自定义方法可以完成此操作?

oracle

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

为什么我在 Java 中收到死代码警告?

我在 eclipse 中从if(line == null)语句到r.close()语句收到死代码警告。

BufferedReader r = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));

int counter = 0;

while(true)
{
    String line = r.readLine();
    counter++;

    if(line.contains(" = "))
    {
        String[] keyVal = new String[2];

        keyVal[0] = line.substring(0, line.indexOf(" = ") - 1);
        keyVal[1] = line.substring(line.indexOf(" = ") + 3);

        buffer.add(keyVal);
    }
    else
    {
        new Exception("Invalid expression at line " + counter + " in file " + file.getPath()).printStackTrace();
    }

    if(line == null) // dead code here
    { …
Run Code Online (Sandbox Code Playgroud)

java dead-code

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

使用 Oracle 异常

我想使用 Oracle 异常来处理以下代码中可能发生的错误。如果用户提供了数据库中不存在的图书 ID 和/或员工 ID,则会引发 NO_DATA_FOUND 异常。因此,我怎么知道哪个语句引发了这个异常。

CREATE OR REPLACE PROCEDURE TEST_EXCEPTION
(
    book_id_in IN book.book_id%TYPE,
    emp_id_in IN emp.emp_id%TYPE
)
IS

v_book_desc book.description%TYPE;
v_emp_name emp.emp_name%TYPE;

BEGIN

SELECT description into v_book_desc FROM book WHERE book_id = book_id_in;

...

SELECT emp_name into v_emp_name FROM emp WHERE emp_id = emp_id_in;

...

EXCEPTION
     WHEN NO_DATA_FOUND THEN
         /* Do something */


END TEST_EXCEPTION;
Run Code Online (Sandbox Code Playgroud)

我感谢任何建议或指导。谢谢你。

oracle plsql

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

什么可以导致Oracle 10g中的物化视图停止快速刷新?

如果我在Oracle中有物化视图,定义为REFRESH FAST ON COMMIT每15分钟一次.它在最初创建和快乐刷新时有效.什么可以导致它停止快速刷新?

我可以看到它已基于此停止刷新:

select mview_name, last_refresh_date from all_mviews;
Run Code Online (Sandbox Code Playgroud)

sql oracle plsql materialized-views oracle10g

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

infinispan 10.1.8 更新后:找不到 org.infinispan.factories.scopes.Scopes 的类文件

我只是尝试将我的应用程序更新到 Infinspan 10.1.8.Final。我通过以下依赖项使用 Infinispan 作为 2 级休眠 (5.4.18.Final) 缓存build.gradle

    compile group: 'org.infinispan', name: 'infinispan-hibernate-cache-v53', version: '10.1.8.Final'
Run Code Online (Sandbox Code Playgroud)

应用程序编译并启动,但是当我运行测试套件时会记录以下内容:

warning: unknown enum constant Scopes.GLOBAL
  reason: class file for org.infinispan.factories.scopes.Scopes not found
warning: unknown enum constant DataType.TRAIT
  reason: class file for org.infinispan.jmx.annotations.DataType not found
Run Code Online (Sandbox Code Playgroud)

为什么会这样?我需要包含另一个依赖项吗?

infinispan

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