从Spring Boot 2.7.2升级到Spring Boot 3.0.0-SNAPSHOT:

4

代码

package com.example.BLModel;

import org.hibernate.annotations.Type;

import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.MapsId;
import javax.persistence.Table;

@Entity
@Table(name = "email_template_custom")
public class EmailTemplateCustom {
    @EmbeddedId
    private EmailTemplateCustomId id;

    @MapsId("tenantId")
    @ManyToOne(fetch = FetchType.LAZY, optional = false)
    @JoinColumn(name = "tenant_id", nullable = false)
    private Tenant tenant;

    @Column(name = "email_subject", nullable = false, length = 1000)
    private String emailSubject;

    @Column(name = "email_content")
    @Type(type = "org.hibernate.type.TextType")
    private String emailContent;

    public EmailTemplateCustomId getId() {
        return id;
    }

    public void setId(EmailTemplateCustomId id) {
        this.id = id;
    }

    public Tenant getTenant() {
        return tenant;
    }

    public void setTenant(Tenant tenant) {
        this.tenant = tenant;
    }

    public String getEmailSubject() {
        return emailSubject;
    }

    public void setEmailSubject(String emailSubject) {
        this.emailSubject = emailSubject;
    }

    public String getEmailContent() {
        return emailContent;
    }

    public void setEmailContent(String emailContent) {
        this.emailContent = emailContent;
    }

}

错误
D:\github\spring_jwt\src\main\java\com\example\BLModel\EmailTemplateCustom.java:29:11
java: cannot find symbol
  symbol:   method type()
  location: @interface org.hibernate.annotations.Type

在此输入图片描述 如何解决这个问题?


Hibernate版本已升级至(我相信是6.1),因此这一点已经改变。 - grekier
@JamesGrey - 你解决了吗?我现在也遇到了同样的问题,涉及到sqlite和spring 3.0-RC1。 - Sandeep
2个回答

6

查看Hibernate 6.0的迁移指南,了解您需要在代码中进行哪些更改。在这种情况下,您需要使用@JdbcTypeCode(SqlTypes.LONGVARCHAR)替换@Type注释。


0
对于那些使用Spring Boot 3与Hibernate 6或更高版本的人来说,建议在处理JSON值时使用@JdbcTypeCode(SqlTypes.JSON)注解,而不是使用@Type(JsonTypes.class)
这种更新的方法确保了兼容性,并与Spring Boot和Hibernate版本中不断发展的标准保持一致。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接