1 Reply Latest reply on Aug 21, 2008 3:10 AM by avihaimar

    FK - with Composite Key

      Hey,

      I have a composite key to user table.

      so i have class for the composite-id - UserID (first,second)

      I have class XXX like this:
      1- the same pk like user
      2- many to one to user.

      in the many-to-one to the user i use in joincolumns like this:
      @JoinColumns( { @JoinColumn(name = "first",referencedColumnName="first", @JoinColumn(name = "second",referencedColumnName="second") })

      i get an exception:
      repeated column for column- first
      The same clumns are the PK and FK.

      Can you please advice.

      @Entity
      public class Animal {
      @EmbeddedId PK pk = new PK();
      @ManyToOne
      @JoinColumns( { @JoinColumn(name = "first",referencedColumnName="first"), @JoinColumn(name = "second",referencedColumnName="second") })
      Owner owner;
      }
      
      @Entity
      public class Owner {
      @EmbeddedId PK pk = new PK();
      }
      
      public class PK implements Serializable{
      public String first;
      public String second;
      }


        • 1. Re: FK - with Composite Key

          The solution will be to use in "insertable=false"
          like this:
          @JoinColumns( { @JoinColumn(name = "first",referencedColumnName="first",insertable=false,updatable=false)
          , @JoinColumn(name = "second",referencedColumnName="second",insertable=false,updatable=false) })