java - Spring mvc:eclipse链接:尝试从“DATE”类型的数据值中获取“VARBINARY”类型的数据值
问题描述
我正在尝试在 Derby DB 中存储启动等内容。启动有一个日期,每当我尝试在数据库中插入启动时,我都会收到此错误
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is javax.persistence.RollbackException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.4.qualifier): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLDataException: An attempt was made to get a data value of type 'VARBINARY' from a data value of type 'DATE'.
Error Code: 20000
Call: INSERT INTO LAUNCH (ID, CUSTOMER, DATE, DETAILS, LANDINGATTEMPT, LINKTOMISSIONPATCH, NAME, ORBIT, PAYLOADNAMES, PAYLOADTYPES, TIME, LAUNCHPAD_ID, ROCKET_ID) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
bind => [13 parameters bound]
Query: InsertObjectQuery(domain.Launch@4027c222)
虽然我指定这是一个日期
@Column(columnDefinition = "date")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate date;
我从一个休息 api 获得启动,这就是我存储它们的方式,但我很确定这不是问题,因为当我尝试手动插入启动时我也会收到错误。
transaction.begin();
try {
for (Launch launch : launchRestApi.getAllLaunches()) {
entityManager.persist(launch);
}
transaction.commit();
} catch(Exception e) {
transaction.rollback();
}
当我在我的机器上使用 Derby 服务器时,它确实可以工作并且我没有收到任何错误。当我使用 IntelliJ 连接到远程数据库时,它还说 DATE 列存储为DATE(10)
,所以我真的不知道是什么原因造成的。
解决方案
推荐阅读
- dns - 这些是重复的还是冗余的 MX 和 A 记录?
- python - 如何向 python 脚本添加命令行参数帮助?
- arrays - 从包含 Ruby 中包含变音符号的单词的数组中获取唯一值
- mysql - 在 Mysql 上不同密码的 Schemas 之间传输特定的表数据
- r - R- jupyter notebooks:绘图时出现文本错误
- c - C 程序是一个菜单并使用 switch case。到目前为止,选项 A,输入 GPA 有效,但对于选项 B,平均值是错误的
- java - I/O-TxtFile 行距程序| JAVA
- javascript - React material-ui组件,实现类时如何覆盖JSS样式
- python - 如何在 Python 中处理这个 JSON 文件?
- php - 在 woocommerce 3 中调整产品图像的 Zoom 放大倍数