Nic*_*ini 1 java spring hibernate jpa spring-boot
我在 Java 17 中使用 Spring Boot 3 编写了此代码@Entity,以将有关引号的信息存储在相应的 MySQL 表中。
package ch.pcngroup.gestionale.entity;
import java.math.BigDecimal;
import java.util.Currency;
import java.util.List;
import ch.pcngroup.gestionale.financial.Item;
import jakarta.persistence.Column;
import jakarta.persistence.ElementCollection;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.OneToOne;
import jakarta.validation.constraints.NotNull;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.experimental.FieldDefaults;
@Entity
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(makeFinal = false, level = AccessLevel.PRIVATE)
@Getter
@NotNull
public class Quote {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
Long id;
@OneToOne
@JoinColumn(referencedColumnName="id")
PrivateCustomer customer;
Currency currency;
@Column(columnDefinition="JSON")
List<Item> items;
}
Run Code Online (Sandbox Code Playgroud)
现在,该items属性的类型为List<Item>,其中Item是我编写的另一个类。Item不应该是 an @Entity,因为我不想要Items 的单独表格。我想要对 s 做的唯一一件事就是在表/对象的字段Item中以 JSON 格式存储它们的列表。itemsquotes
这是Item.java:
package ch.pcngroup.gestionale.financial;
import java.math.BigDecimal;
import lombok.Value;
@Value
public class Item {
String name;
String supplierName;
int quantity;
BigDecimal price;
}
Run Code Online (Sandbox Code Playgroud)
问题是,当我运行应用程序时,出现以下异常:
org.hibernate.type.descriptor.java.spi.JdbcTypeRecommendationException: Could not determine recommended JdbcType for ch.pcngroup.gestionale.financial.Item。
我似乎无法在网上找到文档或类似案例。
你们中有人知道我该如何解决这个问题吗?
谢谢。
我尝试了一些注释,@Column(columnDefinition="JSON")但没有帮助。
当前的解决方案实际上是使用@JdbcTypeCode(SqlTypes.JSON).
例如:
@Entity
public class Quote {
...
@JdbcTypeCode(SqlTypes.JSON)
@Column(columnDefinition="JSON")
List<Item> items;
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5893 次 |
| 最近记录: |