users@glassfish.java.net

JPA problem with insert

From: <glassfish_at_javadesktop.org>
Date: Wed, 11 Jun 2008 14:44:04 PDT

Hi. I'm new in JPA and I have problem with inserting in database.
I don't know how to insert object and disable an attempt of inserting in related tables.

example:

@Entity
@Table(name = "MAIN_TABLE", schema = "SCH")
@Inheritance(strategy=InheritanceType.JOINED)
public class MainClass extends MainDataObject {

    @Id
    public Integer id;

    @Column(name = "session", nullable = false)
    @ManyToOne(optional = false, cascade = CascadeType.PERSIST)
    @JoinColumn(name="session",referencedColumnName="id")
    public ProblematicSession session;
    .....
}
---------------------------------------------------

@Entity
@Table(name = "PROBBLEMATICTABLE", schema = "SCH")
public class ProblematicSession extends MainDataObject {

     @Id
     @Column(insertable = false)
     @GeneratedValue(strategy=GenerationType.IDENTITY)
     public Integer id;
     .....
}

Database create ID, so I put insertable = false and strategy=GenerationType.IDENTITY.

When I insert into MAIN_TABLE, how to disable an attempt of inserting in related table (PROBBLEMATICTABLE).

if I set for example ProblematicSession.id = 1 error is:
This existing value was either provided via an initializer or by calling the setter method. You either need to remove the @GeneratedValue annotation or modify the code to remove the initializer processing.

If I set ProblematicSession.id = null, also try to insert into PROBBLEMATICTABLE. A do not want that!!!
[Message sent by forum member 'du27177' (du27177)]

http://forums.java.net/jive/thread.jspa?messageID=279820