Como recuperar depende muito de como você coloca no banco, quando vc coloca a instancia de um objeto no banco se não houver nenhum tipo de conversão, o objeto irá como String, esperimente fazer isso
public class NovoTeste {
public static void main(String[] args) {
System.out.println(new NovoTeste());
}
}
Você observará que o que irá ser imprimido não tem nenhuma informação sobre as propriedades do objeto, isso fará com que haja perda da informação no processo, o mais aconselhável a fazer é ao invés de ter um campo no banco de dados chamado “Cor”, crie 4 campo, cada uma para cada especto da cor (Vermelho, Azul e Verde), alem do Alpha que é o grau de transparência. fazendo isso basta fazer o processo oposto para recuperar.
Essa não é a única forma, só é a mais fácil, você pode também transformar a cor em hex, que não é dificil, isso seria bom porque em hex você poderia usar só um campo no banco ao invez de 4.
Você pode também usar o metodo getRGB() que retornará um integer que representa a cor atual e armazenar esse numero no banco de dados assim
public class NovoTeste {
public static void main(String[] args) {
//Cria uma cor
Color color = new Color(125, 50, 63);
//pega a cor anterior e cria outr identica
Color color2 = new Color(color.getRGB());
//imprime o valor RGB da cor
System.out.println(color.getRGB());
}
}
Então na hora de você pegar do banco de dados basta você fazer assim :
//lembrando que para isso der certo você tem que ter armazenado no banco o RGB não o que você tem atualmente
Color color = new Color(Valor("cor"));
ou seja se você para pode achar várias maneiras de armazenar, mas o importante é achar um que você possa depois recuperar.