我无法将MySQL JSON数据转换为我的Java类型

i cant convert mysql json data to my java type

提问人:Qmm 提问时间:11/1/2023 最后编辑:BarmarQmm 更新时间:11/1/2023 访问量:33

问:

无法将字符串反序列化为 java 类型:BasicJavaType(com.jxufe.course_scheduling_system.entity.auxiliary_type。教师偏好) 休眠给我这个错误

我有一个用户类型 TeacherPreference defind,如下所示:

public
class TeacherPreference {
    private ArrayList<BasicScheduleItem> no_class_time;

    public
    TeacherPreference(ArrayList<BasicScheduleItem> nct){
        this.no_class_time = nct;
    }

    public boolean equals(TeacherPreference preference) {
        return this.no_class_time.equals(preference.no_class_time);
    }
}

它在这里使用

@Entity
@Data
@Table( name = "teacher" )
public
class Teacher {

    @Id//ID标识
    @GeneratedValue( strategy = GenerationType.IDENTITY )//自增标识
    private Long teacher_ID;

    @Column( name = "name" )//列标识
    private String name;

    @JdbcTypeCode( SqlTypes.JSON)
    @Column( name = "class_IDs", columnDefinition = "json" )
    private ArrayList<Long> class_IDs;

    @JdbcTypeCode( SqlTypes.JSON)
    @Column( name = "preference" )
    private TeacherPreference preference;



    public
    String toJson() {
        return new Gson().toJson(this);
    }

}

当我尝试在这里转换时

@Service
public
class TeacherService {

    @Autowired
    TeacherRepository repository;

    public
    String getByID(Long ID) {
        String res;
        try {
            res = repository.findById(ID).get().toJson();
            System.out.println(res);
            return res;
        } catch ( Exception e ) {
            return e.toString();
        }
    }
}

我收到此错误:

org.springframework.dao.InvalidDataAccessApiUsageException:无法将字符串反序列化为 java 类型:BasicJavaType(com.jxufe.course_scheduling_system.entity.auxiliary_type。教师偏好)

如何修复它以及为什么

java mysql json

评论

0赞 kentilla 11/4/2023
您是否在堆栈跟踪中遇到来自 JacksonJsonFormatMapper 的 IllegalArgumentException?请问,你能完整地报告吗?

答: 暂无答案