ban*_*nnn 2 java postgresql spring jpa
我想用这个模式在 Postgres 中存储一个实体
CREATE TABLE IF NOT EXISTS Ingredient
(
id VARCHAR(4) NOT NULL PRIMARY KEY,
name VARCHAR(25) NOT NULL,
type VARCHAR(10) NOT NULL
);
Run Code Online (Sandbox Code Playgroud)
这是Java模型
@Data
@Entity
@AllArgsConstructor
@NoArgsConstructor(access = AccessLevel.PUBLIC, force = true)
public class Ingredient {
@Id
private final String id;
private final String name;
private final Type type;
public enum Type {
WRAP, PROTEIN, VEGGIES, CHEESE, SAUCE
}
}
Run Code Online (Sandbox Code Playgroud)
这是代码
@Profile("!prod")
@Configuration
public class DevelopmentConfig {
@Bean
public CommandLineRunner dataLoader(
IngredientRepository ingredientRepo,
) {
return args -> {
Ingredient flourTortilla = new Ingredient(
"FLTO", "Flour Tortilla", Type.WRAP);
ingredientRepo.save(flourTortilla);
};
}
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误 -原因为:org.hibernate.exception.DataException:无法从 JDBC ResultSet 中提取列 [3] [字节类型值错误:WRAP]
**由以下原因引起:org.postgresql.util.PSQLException:字节类型的错误值:WRAP **
任何建议表示赞赏。
我尝试研究这个错误,但没有找到答案,我尝试定义列数据类型,但它仍然不起作用
最可能的问题是,Spring 默认情况下使用枚举的序数值(数字)而不是字符串值来存储枚举。您可以尝试以下操作:
private final String name;
@Enumerated(EnumType.STRING)
private final Type type;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1143 次 |
| 最近记录: |