0 Replies Latest reply on Jun 11, 2008 3:33 PM by Ivica Ivic

    JPA problem with insert

    Ivica Ivic Newbie

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


      @Table(name = "MAIN_TABLE", schema = "SCH")
      public class MainClass extends MainDataObject {

      public Integer id;

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

      @Column(name = "destination_member_state", nullable = false, length = 2)
      @ManyToOne(optional = false, cascade = CascadeType.PERSIST)
      public Country destinationMemberState;

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

      @Column(insertable = false)
      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!!!

      Also I have table where database do not insert primary key, and there is no problem (Country).

      @Column(name = "country_code", nullable = false, length = 2)
      public String countryCode;

      public String getCountryCode() {
      return countryCode;