title: How to specify foreign key with the join column?
body: <p>My code is as below. I am using the spring boot with jpa and postgresql database
  I need user friendly name as foreign key.</p>
  
  <pre>
  
      @Entity
      @Table(name="course_table")
      public class Course extends BaseAuditingEntity {
  
      @ManyToMany(cascade = CascadeType.REMOVE, fetch = FetchType.EAGER)
      @JoinTable(name = "course_program_table", joinColumns = @JoinColumn(name = "course_id", referencedColumnName = "course_id", foreignKey = @ForeignKey(name = "fk_program_id")), inverseJoinColumns = @JoinColumn(name = "program_id", referencedColumnName = "program_id", foreignKey = @ForeignKey(name = "fk_course_id")))
      private List programs;
      }
  
  </pre>
  
  <p>I have given the name of foreign key using the @ForeignKey annotation but when I see db it is showing the randomly created foreignkey name.</p>
  
  <pre>
  CREATE TABLE course_program_table
  (
      course_id integer NOT NULL,
      program_id integer NOT NULL,
      CONSTRAINT <b>fk_28c95hl4nqclyvyxuduei5nbf</b> FOREIGN KEY (program_id)
          REFERENCES public.program_table (program_id) MATCH SIMPLE
          ON UPDATE NO ACTION
          ON DELETE NO ACTION,
      CONSTRAINT <b>fk_5sainywquv8yyu24pjk3jptn7</b> FOREIGN KEY (course_id)
          REFERENCES public.course_table (course_id) MATCH SIMPLE
          ON UPDATE NO ACTION
          ON DELETE NO ACTION
  )
  </pre>
  
  <p>I need foreign key as mentioned in the annotation like fk_program_id and fk_course_id.</p>
  
  <p>Thanks in advance.</p>