我写了一些代码.我想把BaseQuestionClass中的questionId字段设为Autogenerated.Any解决方案呢?我没有使用jpa jar.so我不能使用@Generatedvalue注释.所以我们如何在这里显示这个字段是自动生成的.代码如下.
的pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>audit_project</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.11.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Run Code Online (Sandbox Code Playgroud)
BaseQuestion.java …
我正在使用 postgres。我创建了一个表xyz,其中包含一个abc类型为 的列character varying(3)。我保存'YES'或'NO'在abc列。
我在表中存储了一段时间的数据。但是现在要求变了。我们需要将abc列类型从更改character varying(3)为boolean。
有什么方法可以将abc类型从character varying(3)toboolean更改为和将数据更改YES为true和NOtofalse吗?
请帮助我,否则如果我们不想丢失数据,我该如何继续。
我使用查询
ALTER TABLE xyz ALTER abc TYPE boolean
USING CASE abc WHEN 'YES' THEN TRUE ELSE FALSE END;
Run Code Online (Sandbox Code Playgroud)
但它不起作用,它抛出错误无法自动转换为布尔类型
我写了一些与使用spring上传文件相关的代码,它运行正常,现在我正在为此编写集成测试用例但我面临一些问题我的控制器方法,
@RequestMapping(value = "/{attributeName}/upload", method = RequestMethod.POST)
@ResponseBody
public Result uploadCompany(HttpServletRequest request,
@RequestParam MultipartFile file, @PathVariable String attributeName,
@RequestParam long dateKey)
throws IOException, PromotionException {
some code
}
Run Code Online (Sandbox Code Playgroud)
测试用例
@Test
public void shouldReturnTrueStatusWhenUploadCompany() throws Exception {
MockMultipartFile file = new MockMultipartFile("company_upload", "company_upload.csv",
MediaType.MULTIPART_FORM_DATA_VALUE, EMPLOYEE_NUMBER_FILE_CONTENT.getBytes(UTF_8));
mockMvc.perform(
MockMvcRequestBuilders.fileUpload(
PROMOTION + StringUtils.replace(ATTRIBUTE_NAME, "{attributeName}", "COMPANY") + "/upload")
.file(file).param("dateKey", "852017") .contentType(MediaType.MULTIPART_FORM_DATA)
.accept(MediaType.APPLICATION_JSON))
.andExpect(status().isOk());
}
Run Code Online (Sandbox Code Playgroud)
但我得到了
2017-05-09 13:42:42,506 ERROR [Test worker] INTERNAL_SERVER_ERROR:
org.springframework.web.bind.MissingServletRequestParameterException: Required MultipartFile parameter 'file' is not present
Run Code Online (Sandbox Code Playgroud)
我哪里错了?
alter-table ×1
ddl ×1
mongodb ×1
postgresql ×1
spring ×1
spring-boot ×1
spring-data ×1
spring-mvc ×1
sql ×1