Herança com estratégia Joined

0 respostas
rodrigoplayrj

Boa Tarde galera,

Fiz uma herança no hebernate usando a estratégia JOINED, pois então:

Tenho a superclasse chamada Usuario.
Como subclasse tenho Tecnico

Uma tabela Usuario e uma Tecnico

Quando faço um consulta fazendo o join entre eles funciona perfeitamente, mas quando eu tento salvar, ele cria dois registros na tabela Usuario , sendo que um em branco e outro com os dados corretos, inserindo também um registro na tabela Tecnico com os dados corretos do técnico. Vejam as duas entidades abaixo:

//Usuario.java

@Entity  
    @Inheritance(strategy=InheritanceType.JOINED) //Modo Joined - Herança  
    public class Usuario extends ActionForm implements Serializable {  
        @Id  
        @GeneratedValue(strategy = GenerationType.IDENTITY)  
        @Column(name="id", unique=true, nullable=false, length = 4)  
      private long id;  
       @OneToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)  
        @JoinColumn(name = "idTecnico", nullable = true)  
       private Tecnico tecnico;  
       @Column(name = "usuario", nullable = true, length = 20)  
       private String usuario;  
   ...

Tecnico.java

@Entity  
   @PrimaryKeyJoinColumn(name="id")  
    public class Tecnico extends Usuario implements Serializable {  
        @Column(name="id", unique=true, insertable=false, updatable=false, length=4)  
        private long id;  
        @Column(name="especialidade", unique=true, nullable=false, length = 20)  
       private String especialidade;  
    ...

Não entendo o que eu esqueci ai nas anotações…

Criado 13 de novembro de 2008
Respostas 0
Participantes 1