Durante minhas pesquisas para resolver o problema com chave estrangeira, descobri uma forma de popular um ChoiceBox com o valor de mais de um campo e com outras informações.
Supondo uma tabela com os campos:
CID_COD: Primary Key;
CID_NOME: Nome da cidade;
CID_UF: UF do estado;
Tendo a tabela as seguintes informações
COD    CID_NOME    CID_UF
1         Matelândia     PR
2         Medianeira     PR
Considerando um jdbcDatasource (jdbcDsCidade) devidamente ligado a essa tabela do banco:
pode ser feito da seguinte forma:
O ChoiceBox será populado da seguinte forma:
1 - Matelandia PR
2 - Medianeira PR
Bom, com isso, penso que seja possível desenvolver uma função para pegar os valores numéricos ou então tudo que esteja antes do " - " para gravar na base de dados em um caso em que o o campo CID_COD é chave estrangeira.
Cordialmente;
Fonte: http://www.drdobbs.com/java/225700076
         
        
          
        
           
           
           
         
         
            
            
          
       
      
        
        
          Sim,
supondo que “2 - Medianeira PR” seja a sua String, você pode fazer isso e vai pegar só o número 2:
suaString.split("\\-")[0].trim();
Agora, só uma sugestão: Eu particularmente não conheço esses objetos do Composer, mas não seria legal você trazer os valores do banco de dados, modelar em objetos e trabalhar no objetos JavaFX?
Seu código ficaria bem mais limpo  e fácil de manter 
[]'s
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Pode ser que sim. Mas eu não faço idéia e como fazer isso.  Estou apredendo JavaFx sem entender muito de Java.
 Estou apredendo JavaFx sem entender muito de Java.
Estou lendo o que encontra na net e tentando colocar em prática para desenvolver uma aplicação CRUD em JavaFx.
Se você puder me postar um link sobre o tema, eu agradeço.
Cordialmente;
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Para completar, lim um artigo em javafree.uol.com.br (acho que é seu) sobre criar uma lista de carros em javaFx. Fiz aqui e blz. Tentei fazer o mesmo processo para conexão com a base mas me perdi pelo meio. 
Seria isso a questão da modelagem que você fala?
Cordialmente;
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Fala Claupers,
Aquele artigo do JavaFree foi para começar uma séries falando de objetos Java X Objetos JavaFX, mas depois percebi que o pessoal do JFXtras está trabalhando em uma solução de sincronismo de objetos Java e a UserInterface e resolvi parar.
A idéia é trazer os elementos do banco de dados, modelar em objetos JavaFX, por exemplo:
(mais ou menos como seria em seu caso)
public class Cidade{
    public var cod:Integer;
    public var nome:String;
    public var UF:String;
}
Depois você faz a sua consulta e coloca em uma sequence de Cidades:
var cidades:Cidade[] = 
                for(record in jdbcDsCidade.getRecordSet().all())
                    Cidade{
                        cod: record.get("CID_COD")
                        nome: record.get("CID_NOME")
                        UF: record.get("CID_UF")
                }
Então você trabalharia nessa sequence de cidades.
No entanto, acho que isso seria mais uma opinião pessoal, JavaFX é voltado para GUI, não acredito que no JavaFX Composer eles iriam fazer algo que comprometesse a performance.
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Obrigado Jesuino. Agora entendi um pouco mais sobre o assunto.
Cordialmente;