首页 > 解决方案 > @javax.persistance.Convert 在@javax.persistance.Id 上

问题描述

我正在尝试将MongoDb对象 ID 转换为字符串并将其用作MYSQL表的主键。转换正在发生。@Convert将 ObjectId 转换为 String 并将其存储在 MYSQL 数据库中。但是@Convert@ID不合作。有什么解决办法吗?可以@Convert@ID一起使用吗?

这是代码

@Converter
public class ObjectIdConvertor implements AttributeConverter<ObjectId,String> {

@Override
public String convertToDatabaseColumn(ObjectId objectId) {
    if(objectId!=null){
        return objectId.toHexString();
    }
    else{
        return null;
    }
}

@Override
public ObjectId convertToEntityAttribute(String s) {
    return new ObjectId(s);
     }
}


  @Entity
  public class Abc{
  @javax.persistence.Convert(converter = ObjectIdConvertor.class)
  @javax.persistence.Id
  private ObjectId environmentId;

  private String name;

  }

标签: hibernatejpatype-conversion

解决方案


推荐阅读