Intellij idea IntelliJ:将SQL作为语言注入@SQL注释中
在用Kotlin编写的Spring启动测试中,我有一个测试方法,它用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
@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)逐行使用它们。