Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Intellij idea IntelliJ:将SQL作为语言注入@SQL注释中_Intellij Idea_Kotlin - Fatal编程技术网

Intellij idea IntelliJ:将SQL作为语言注入@SQL注释中

Intellij idea IntelliJ:将SQL作为语言注入@SQL注释中,intellij-idea,kotlin,Intellij Idea,Kotlin,在用Kotlin编写的Spring启动测试中,我有一个测试方法,它用@Sql注释如下: @Sql(statements = [ """insert into employee (created, name) values (current_time, 'An, Ny')""", """insert into shift (created, progress) values (current_time, 80)""" ]) Inte

在用Kotlin编写的Spring启动测试中,我有一个测试方法,它用
@Sql
注释如下:

@Sql(statements = [
    """insert into employee (created, name)
            values (current_time, 'An, Ny')""",
    """insert into shift (created, progress)
            values (current_time, 80)"""
])
IntelliJ不会将它们识别为SQL,并且没有语法突出显示(字符串的语法突出显示除外)。我可以在每个这样的字符串前面添加注释,如
//language=sql
。然而,这是一个令人讨厌的问题(实际上,这相当于6条语句)

我更喜欢跨越
@Sql
注释全部内容的单个注释或注释,但这似乎不起作用:IntelliJ建议在整个注释前面添加
@Language(“Sql”)
,但不承认内容是Sql


有一些设置可以配置注入,甚至可以配置到参数级别,但是这是无法承受的。这是一条正确的道路,还是有更简单的方法?

从IntelliJ IDEA 2019.3开始,这个问题已经部分解决:添加一条
//language=SQL
注释就足以突出显示所有SQL:。仅使用注释还不够:

您应该向IntelliJ支持部门咨询。我对Kotlin和SpringDataJPA存储库方法也有类似的问题。也没有自动完成。YouTrack上似乎有相关问题:这是一个有趣的问题,但这是最简单的部分,多行字符串。我将更新我的问题以忽略这一点,因为它会分散注意力。对不起,事实上,我错了。多行字符串将不起作用,因为Spring(或JDBC)逐行使用它们。