我正在寻找解决我的问题的方法。我有 2 个 java 类域。 Graduacao 和 Aluno,在 Graduacao 我有一个属性“graus”,它是一个集合。 在 Aluno 类中,我有集合属性“List graduacao”。 我在关于 ComboBoxModel 的 JComboBox 中添加了 Graduacao,当用户选择了 Graduacao 时,我有一个显示 Graduacao 的“graus”的 JList。
我需要的是获取用户选择的 Graduacao 和 graus,并将其添加到 Aluno,并在带有 AbstractTableModel 的 JTable 中显示结果后保留。
我正在尝试这个
@Entity
@Table(name="graduacao")
public class Graduacao {
@Id @GeneratedValue
private Integer id;
@NotNull @Column(unique = true)
private String graduacao;
@ElementCollection
@CollectionTable(name="graduacao_grau", joinColumns=@JoinColumn(name="id_graduacao"))
@Column(name="grau")
private List<String> graus;
//get and set
@Entity
@Table(name="aluno")
public class Aluno {
@Id @GeneratedValue
private Integer id;
//informacoes gerais
@NotNull
private String nome;
private String cpf;
private String rg;
private String nomePai;
private String nomeMae;
@Temporal(TemporalType.DATE)
private Date dtNascimento;
@Temporal(TemporalType.TIMESTAMP)
private Date dtCadastro;
private String status;
private String observacoes;
//logradouro
private String endereco;
private String bairro;
private String complemento;
private String cidade;
private String cep;
@Enumerated(EnumType.STRING)
private EstadoBrasileiro uf;
//contato
@ElementCollection
@CollectionTable(name="telefone_aluno", joinColumns=@JoinColumn(name="id_aluno"))
@Column(name="telefone")
private List<String> telefones;
private String email;
//graduacao
@OneToMany @JoinColumn(name="id_aluno")
private List<Graduacao> graduacao;
@Temporal(TemporalType.DATE)
private Date dataGraduou;
//federacao
@OneToMany @JoinColumn(name="id_federacao")
private List<Federacao> federacao;
//get and set
这里打印
/** 编辑 */ 我解决了这个问题,这里是项目:http://www.4shared.com/zip/1Gbj-IZLce/project_example.html
最佳答案
完整示例超出了 StackOverflow 的范围。两种方法很常见,但都不简单:
创建自定义
TableModel
使用 JPA 查询和实体来实现AbstractTableModel
所需的方法;显示了一个使用JComboBox
的非常简单的示例 here ;显示了带有分页的完整TableModel
示例 here .
此 answer 中显示了与此主题相关的许多辅助链接.
关于java - 尝试最佳解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24975286/