JPA-Tabela Detalhe

3 respostas
cleriston

Olá a todos!

Eu tenho uma entidade chamada programa e ela terá uma entidade detalhe chamada ProgramaAcoes no qual o usuario digitará qualquer String (não cadastrada previamente).
Eu fiz o mapeamento e ele criou 2 tabelas. Uma para programaacoes e outra programa_programaacoes. Onde na programa_programaacoes consta o código da string que está no programaacoes e o código da tabela mestre programa. Eu gostaria que ele gerasse apenas 1 tabela contendo o código da tabela mestre e a string. Como fazer isso?
Segue abaixo o código que utilizo atualmente e q gera as 2 tabelas :

public class Programa implements Serializable {
    ...

    @OneToMany(cascade=CascadeType.PERSIST)
    private Set<ProgramaAcao> acoes;
public class ProgramaAcao implements Serializable {
    @Id
    @GeneratedValue(generator = "seqProgramaAcao", strategy = GenerationType.SEQUENCE)
    @Column(name = "codprogramaacao")
    private Integer codprogramaacao;
    @OneToOne
    private Programa programa;    
    @Column(length=255)
    private String acao;
...

Desde já agradeço as respostas

3 Respostas

gui_sv

Olá,

Na sua classe ProgramaAcao, no atributo Programa, anote ele da seguinte forma: @MappedBy(name=“acoes”)

Acredito que dessa forma ele gere as tabelas corretamente !

qq coisa posta ae

abraços

cleriston

Olá gui_sv

Pelo q vi, nao existe a annotation @MappedBy e sim a propriedade mappedBy no @OneToOne
Eu coloquei

@OneToOne(mappedBy="acoes") private Programa programa;

Internal Exception: Exception [TOPLINK-7244] (Oracle TopLink Essentials - 2.0.1 (Build b04-fcs (04/11/2008))): oracle.toplink.essentials.exceptions.ValidationException
Exception Description: An incompatible mapping has been encountered between [class br.com.xxx.model.ProgramaAcao] and [class br.com.xxx.model.Programa]. This usually occurs when the cardinality of a mapping does not correspond with the cardinality of its backpointer.

Agradeço a sua atenção

AvilaCS

Veja este link: http://tadtech.blogspot.com/2007/09/hibernate-annotation-many-to-many.html, acho que pode ajudá-lo:

[]´s

Criado 14 de julho de 2008
Ultima resposta 14 de jul. de 2008
Respostas 3
Participantes 3