当我试图将一个对象保存到H2数据库时,我不断地得到这个异常。
我试图持久化的对象定义如下:
package mypackage.foo.core.jpa.domain;
@Entity
@Getter
@NoArgsConstructor
public class Task implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Setter
private Long id;
private String name;
private String description;
控制器:
package mypackage.foo.core.web.controller;
@RestController
@RequiredArgsConstructor
public class TaskController {
private final TaskService taskService;
@PostMapping("/api/task/save")
public ResponseEntity<Task> handlePostAddTask(@RequestBody Task task) {
Task savedTask = taskService.save(task);
return new ResponseEntity<>(savedTask, HttpStatus.CREATED);
}
}
{
"name":"first task",
"description":"some fascinating description"
}
package mypackage.foo.core.jpa.repository;
@Repository
public interface TaskDao extends JpaRepository<Task, Long> {
}
@SpringBootApplication
@EnableJpaRepositories(basePackages = {"mypackage.foo.core.jpa.repository"})
@EntityScan(basePackages = {"mypackage.foo.core.jpa.domain"})
public class FooApplication {
public static void main(String[] args) {
SpringApplication.run(FooApplication.class, args);
}
}
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
taskservice
中的save(Task Task)
实质上是调用taskdao.save(Task Task)
。
我也怀疑有错误的@id
注释(我指的是来自错误的包),但这里不是这样。
Use @Data annotation from lombok as given below. This will generate both setter & getter methods. I hope this will resolve the issue.
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import lombok.Data;
@Entity
@Data
public class Student {
@Id
@GeneratedValue
private long id;
private String firstName;
private String lastName;
@Data Equivalent to @Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode.
~Satheesh
问题内容: 我试图在程序中包含以下代码,但将出现错误(“ inet_pton”:未找到标识符)。 输出量 包括标题 任何帮助都可能会丢失一些标头或lib。 问题答案: 功能 在头文件中声明: 如果是Windows(Vista或更高版本),则有此ANSI版本的Winsock类似物: 尝试 添加Ws2_32.lib
问题内容: 在尝试向其添加库之前,我的应用程序运行良好。添加库后,Android Studio给我以下错误: 错误:(26)在包“ inf ..”中找不到属性“ layout_behavior”的资源标识符。 这是我的build.gradle文件: 这是导致错误的xml: 我尝试了以下方法: 删除了图书馆 重置Android Studio和我的计算机 从git恢复为我的代码的先前版本。 但是,错误
错误:(26)在包“inf..”中找不到属性“layout_behavior”的资源标识符。 这是我的build.gradle文件: 这是导致错误的xml: null 但是,错误仍然存在。我该如何解决这个问题?
我使用Cordova构建一个Android应用程序。在我执行命令后,显示以下错误: d:\xampp\htdocs\shie_cordova\shia\platforms\android\build\intermediates\manifests\full\release\androidmanifest.xml:22:错误:在包android中找不到属性supportsRtl的资源标识符。 And
问题内容: 在编译后运行程序时,出现以下错误: ./prog:/usr/lib/x86_64-linux-gnu/libstdc .so.6: 找不到版本GLIBCXX_3.4.19’(./prog要求)./prog:/ usr / lib / x86_64-linux-gnu / libstdc 。so.6:找不到版本“ GLIBCXX_3.4.20”(/ home / arman / lib