java—我在jpa中使用值对象时遇到了一个问题

4sup72z8  于 2021-07-14  发布在  Java
关注(0)|答案(1)|浏览(288)

我必须在项目和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;

}
ev7lccsx

ev7lccsx1#

当你提到lombok的@value时,这是不可能的。lombok的@value用于不可变对象。
但是您的实体需要是可变的,因为jpa构造它的方式是可变的。
此外,值对象没有标识,但数据库实体应该有主键。

相关问题