我必须在项目和jpa中同时使用valueobject,但是当将属性更改为valueobject时,它给了我一个错误,我还不知道如何解决这个问题
此错误:('id'属性类型不应为'brandcodigo')('basic'属性类型不应为'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;
}
1条答案
按热度按时间ev7lccsx1#
当你提到lombok的@value时,这是不可能的。lombok的@value用于不可变对象。
但是您的实体需要是可变的,因为jpa构造它的方式是可变的。
此外,值对象没有标识,但数据库实体应该有主键。