在TypeScript中,可以使用"Rest Parameters"声明一个函数:
function test1(p1: string, ...p2: string[]) {
// Do something
}
Run Code Online (Sandbox Code Playgroud)
假设我声明了另一个调用的函数test1
:
function test2(p1: string, ...p2: string[]) {
test1(p1, p2); // Does not compile
}
Run Code Online (Sandbox Code Playgroud)
编译器生成此消息:
提供的参数与调用目标的任何签名都不匹配:无法将类型'string'应用于类型为'string []'的参数2.
如何test2
调用test1
提供的参数?
使用Spring Data + hibernate,Hibernate配置为自动创建模式.但是,当抛出查询异常时(见下文).
看起来自动模式创建期间使用的列名称与查询的列名称不同.
如果我配置LocalSessionFactoryBean
使用命名策略,问题就会消失,测试也会起作用.
这是一个错误吗?还是我误解了什么?
设置如下.
[编辑]根据下面的日志,消息ERROR: column datum0_.datum_id does not exist
存在.但是,该列实际上已命名datumId
,从记录的SQL中可以看出:
create table Datum (
datumId int4 not null,
value varchar(255),
primary key (datumId)
)
Run Code Online (Sandbox Code Playgroud)
Application.java:
package test;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;
@Configuration
@ImportResource("classpath:Application.xml")
@EnableAutoConfiguration
public class Application {
static Log log = LogFactory.getLog(Application.class);
public static void main(String[] args) throws Exception {
ConfigurableApplicationContext context = SpringApplication.run(Application.class, args);
DatumRepository repository = context.getBean(DatumRepository.class); …
Run Code Online (Sandbox Code Playgroud)