Вы можете использовать AttributeConverter
.
import java.nio.file.Path;
import java.nio.file.Paths;
import javax.persistence.AttributeConverter;
import javax.persistence.Converter;
@Converter // may want to set autoApply to true
public class PathConverter implements AttributeConverter<Path, String> {
@Override
public String convertToDatabaseColumn(Path attribute) {
return attribute == null ? null : attribute.toString();
}
@Override
public Path convertToEntityAttribute(String dbData) {
return dbData == null ? null : Paths.get(dbData);
}
}
В этом примере преобразователя будет храниться только часть пути Path
. Он не будет хранить никакой другой информации, такой как FileSystem
, к которой он относится (и будет принимать значение по умолчанию FileSystem
при преобразовании из String
в Path
).
import java.nio.file.Path;
import javax.persistence.Convert;
import javax.persistence.Entity;
@Entity
public class Photo {
@Convert(converter = PathConverter.class) // needed if autoApply isn't true
private Path imagePath;
}
Для получения дополнительной информации см. Документацию следующего: