java - 将 Value 对象与 JPA 一起使用时出现问题
问题描述
我必须同时在项目和JPA中使用ValueObject,但是将属性更改为valueobject时出现错误,我还不知道如何解决问题
此错误:(“Id”属性类型不应为“BrandCodigo”)(“基本”属性类型不应为“BrandNombre”)
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Entity(name = "Brand")
@Table(name = "marcas",
uniqueConstraints = {
@UniqueConstraint(name = "uk_marcas_nombre",columnNames = "nombre")
})
public class Brand {
@Id
@Column(name = "codigo")
private BrandCodigo codigo;
@Column(name = "nombre",
nullable = false,
columnDefinition = "varchar(80)"
)
private BrandNombre nombre;
}
解决方案
当您提到 lombok 的 @Value 时,这是不可能的。Lombok 的 @Value 用于不可变对象。
但是您的实体需要是可变的,因为 JPA 构造它的方式。
此外,值对象没有身份,但数据库实体应该有主键。
推荐阅读
- python - Pymongo MongoDB - 如何从具有 3 个要索引的数组中的数组中删除对象
- r - 在 R 中突出显示值(corrplot)
- mysql - 创建一个查询来计算客户编号 100019 的所有购买。此查询的输出应该是订单号、零件编号等
- python - 如何使用 dbfaker 生成非重复数据
- php - 添加具有订单详细信息功能的自定义按钮 - Magento 2
- php - 根据 Laravel 8 中的 URL 参数更改要连接的 MySQL 数据库
- python - 如何通过键值搜索字典并将字段附加到 JSON?
- gensim - `FastText.wv.save_word2vec_format()` 创建一些条目,在一行上有两个单词
- toggle - 似乎 else 语句未在切换功能中执行
- snowflake-cloud-data-platform - 如何将增量更新数据转换为雪花中的结构化表