微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我在 JPA 中使用 Value 对象时遇到问题

如何解决我在 JPA 中使用 Value 对象时遇到问题

我必须同时在项目和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 时,这是不可能的 afaik。 Lombok 的 @Value 用于不可变对象。

但是您的实体必须是可变的,因为 JPA 构造它的方式。

此外,值对象没有身份,但数据库实体应该有主键。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。