小编Ste*_*ers的帖子

工作方法通常应该放在调用它的方法的上方还是下方?

关于由另一个方法调用的方法通常应该高于还是低于它,是否有任何约定?例如 saycaller()被重构为两种方法 - 哪里是更标准的地方 outaboveCaller()belowCaller()

private void aboveCaller() { /*...here?...*/ }

public void caller() {
    aboveCaller();
    belowCaller();
}

private void belowCaller() { /*...or here?...*/ }
Run Code Online (Sandbox Code Playgroud)

尽管这是在 Java 中,但它是一个通用的编程问题,并不真正针对特定语言。(抱歉,如果之前有人问过它 - 尝试在这里搜索但没有想出任何东西)。

java methods refactoring coding-style conventions

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

如何在 Spring MVC 控制器方法中检查未绑定的请求参数?

给定一个 Spring-MVC 控制器方法:

@RequestMapping(value = "/method")
public void method(ParamModel params) { /*...*/ }
Run Code Online (Sandbox Code Playgroud)

与模型类:

public class ParamModel { public int param1; }
Run Code Online (Sandbox Code Playgroud)

以下两个结果符合预期/期望:

  • 请求param1=1method成功完成。
  • 请求param1=blahJBWEB000120: The request sent by the client was syntactically incorrect.

然而...

  • 如果使用附加参数(例如nonexistentparam=1)发出请求,则没有错误

如果请求包含不属于此 API 的任何参数,是否有办法确保请求得到验证和拒绝?

java parameters spring controller spring-mvc

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

MariaDB中的最大表连接数是多少?

MySQL或其他数字一样,MariaDB 10中的表连接数是否限制为61 ?

(我在MariaDB文档中或通过Google搜索找不到答案).

mysql sql join limit mariadb

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

命令行参数有任何命名约定吗?

我正在审查具有小驼色的命令行开关的命令行驱动的Java应用程序,如下所示:

myapp aSwitch anotherSwitch aThirdSwitch
Run Code Online (Sandbox Code Playgroud)

我认为所有小写和连字符可能更可取:

myapp -aswitch -anotherswitch -athirdswitch
Run Code Online (Sandbox Code Playgroud)

...也许:

myapp -a-switch -another-switch -a-third-switch
Run Code Online (Sandbox Code Playgroud)

但是努力提出令人信服的理由。希望遵循当前约定,并且至少与Windows / Linux兼容。

感谢您提出这三者中最常用的约定的建议-以及这样做的任何充分理由。

java command-line cross-platform conventions case-sensitive

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

Hibernate 级联删除期间的 ConstraintViolationException

我的数据库中有两个表:一个用于持久化用户,另一个用于保存他们的权限。

问题是,当我尝试删除用户时,必须删除权限,这样我才能避免收到违反约束的异常。我为此使用了 JPA 级联类型.ALL 和 orphanRemoval=true :

@OneToMany(fetch = FetchType.LAZY, mappedBy = "users",cascade = CascadeType.ALL,orphanRemoval = true)
    public Set<Authorities> getAuthoritieses() {
        return this.authoritieses;
    }
Run Code Online (Sandbox Code Playgroud)

问题是只有当将被删除的用户是在另一个会话中创建时,hibernate 才会为权限生成删除查询:当我创建用户时,添加一些权限,然后尝试删除它,引发了违反约束的异常,即在另一个会话中创建用户时则不是这种情况(然后休眠将为权限生成删除查询)。

这是引发的异常(此处的“notification_config”指的是用户权限表和“liste_envoi”):

 sept. 07, 2015 7:42:14 AM com.sun.faces.lifecycle.InvokeApplicationPhase execute
Avertissement: #{listeEnvoiBean.suppListe()}: org.springframework.dao.DataIntegrityViolationException: ERREUR: UPDATE ou DELETE sur la table « liste_envoi » viole la contrainte de clé étrangère
« notifconfiglistefk » de la table « notification_config »
  Détail : La clé (id)=(5) est toujours référencée à partir de la table « notification_config ».; SQL [n/a]; …
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa cascade one-to-many

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

是否可以为@Scheduled分配一个表示“从不”的句点(在春季)?

我正在调查以固定速率使用@Scheduled的情况,在某些可配置的情况下,不应运行计划的作业。

该文档没有提及这一点,而是分别针对fixedDelay()fixedDelayString()-1和的默认值""。可以使用这些方法可靠地确保计划的方法不会触发吗?

java spring spring-mvc scheduled-tasks spring-scheduled

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

如何在 Windows 中通过 Cygwin 安装和运行 Nmap 程序?

我试图让 Cygwin 显示我的笔记本电脑打开了哪些端口,但是当我尝试运行它时,它说找不到命令。

这是我正在尝试的命令: nmap -v -A <<IP address>>

windows installation cygwin nmap

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

如果sql中存在列,如何更新表

我有一个由MyTable创建的表

CREATE TABLE MyTable
(
    [ID] [bigint] IDENTITY(1,1) NOT NULL,
    [Type] [int] NOT NULL,
    [CreatedDate] [datetime] NOT NULL,
    [ModifiedDate] [datetime] NOT NULL,
)
Run Code Online (Sandbox Code Playgroud)

我想检查我的表中是否存在列,如果存在,我想将数据复制到不同的列,然后删除旧列,如下所示:

IF (SELECT COLUMNPROPERTY(OBJECT_ID('MyTable'), 'Timestamp', 'Precision')) IS NOT NULL
BEGIN
    UPDATE [dbo].[MyTable]
    SET [CreatedDate] = [Timestamp]

    ALTER TABLE [dbo].[MyTable]
    DROP COLUMN [Timestamp]
END
GO
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试运行它时,我收到一个错误:

Invalid column name 'Timestamp'
Run Code Online (Sandbox Code Playgroud)

我怎样才能完成我想要做的事情?

t-sql sql-server

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

如何在Laravel QueryBuilder/MySQL Spatial包中按距离对查询结果进行排序?

首先,我想向您展示当前的数据库结构.有三个表:

菜肴(身份证,姓名)

位置(id,name,coordinates(POINT))

dish_location(location_id,dish_id)

现在我想实现一个API,它获取用户的位置(纬度,经度)并返回按距离(km)排序的菜单列表.我已经有一种方法,需要两个纬度和两个经度,并给我一个距离.但我相信你可以告诉我一种方法,这是一种在MySQL查询中直接执行此操作的更高效的方法.

附加:我想在API中执行"加载更多"功能.所以我通过了已经收到的物品的数量,或者在这种情况下如何解决这个问题呢?

我将它用于MySQL Spatial包

php mysql laravel eloquent laravel-5

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

如何重用ArrayDescriptor?

我试过下面的代码:

public class Abc {

    private ArrayDescriptor arrayDesc;

    void init() {
       connection = //create connection
        arrayDesc = ArrayDescriptor.createDescriptor("DBTYPE",connection);
    }

    void m1() {
        conn1 = //create connection
        ARRAY array_to_pass1 = new ARRAY( arrayDesc , conn1, idsArray1 ); 
    }

    void m2() {
        conn2 = //create connection
        ARRAY array_to_pass2 = new ARRAY( arrayDesc , conn2, idsArray2 ); 
    }

}
Run Code Online (Sandbox Code Playgroud)

此代码给出以下错误:

table.java.sql.SQLException:oracle.sql.DatumWithConnection.assertNotNull(DatumWithConnection.java:103)中缺少描述符

怎么解决这个问题?

java arrays oracle database-connection

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