Cadastro do Supermercado

Estou usando JSF e JPA

Tenho este seguinte form:

A classe Supermercado:

@SuppressWarnings("serial")
@Entity
public class Supermercado extends Entidade {

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Integer id;

	@Column(nullable = false, length = 50)
	private String nome;

	@OneToMany(mappedBy="supermercado",cascade = CascadeType.PERSIST)
	private List<Filial> filiais;

    ...

}

E a classe Filial:

@SuppressWarnings("serial")
@Entity
public class Filial extends Entidade {

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Integer id;

	@Column(nullable = false, length = 50)
	private String nome;

	@ManyToOne(cascade = CascadeType.PERSIST)
	private Supermercado supermercado;

	@Embedded
	private Endereco endereco;

        ...
}

A minha dúvida é em relação ao form, durante o cadastro da filial. Como fazer para cadastrar filial de supermercado que ainda não existe?

Pensei em algumas opções, mas não sei qual a melhor.

  1. Colocar um selectOneMenu com um checkbox ou botão ao lado “Cadastrar”, que quando clicado abre um campo, cadastra e atualiza o selectOneMenu

  2. Usar um campo autocomplete, mas não sei como validar. Na verdade eu até poderia colocar um campo hidden que seria preenchido quando alguma opção do autocomplete fosse selecionado. Mas o que fazer para diferenciar nenhuma opção selecionada de um novo cadastro de Supermercado?

Enfim… gostaria de sugestões de vocês…

abraços!!!

Para começar, que banco estas usando, digo, que plataforma (java, oracle, postgre,…) ?
tens que dar uma olhada na tua classe de conexão com a base de dados, é lá que vai acontecer o envio dos dados, a não ser que já possua uma classe específica para cuidar do envio das informações.

Sim, JAVA + MySQL

Mas… isso tido ja funciona. Já conecta, já persiste, já consulta, inclusive já faz o cascade na persistencia de uma filial com um supermercado que ainda nao existe (cadastra o supermercado tbm)…

A dúvida é em relação a melhor forma de apresentar ao usuario a opção de cadastro de uma filial com um supermercado novo. Não gostaria que o usuário tivesse que ir antes na pagina de cadastro de supermercado, cadastrar e depois cadastrar a filial… gostaria que ele no momento do cadastro da filial, ao perceber que é um Supermercado novo, algo abrisse para ele cadastrar também o supermercado…

Não sei o que seria melhor. Um modal? Uma popup? Um campo? Um botão “+” do lado do combo de supermercados?

As filiais já estão cadastradas?

Se já estiverem cadastradas, poderia usar um PickList, em que um lado possui as filiais disponíveis e o outro as selecionadas no supermercado. Poderia ter um botão cadastrar que abre uma modal caso não tenha ainda cadastrado.

Se não estiverem cadastradas, use uma tabela que exibe as filiais com botão cadastrar que abre uma modal.