Java Hibernate如何不生成唯一索引

Java Hibernate如何不生成唯一索引,java,hibernate,Java,Hibernate,生成的表问题列表\u已发送带有问题id字段-此字段带有唯一索引。如何将此字段注释为正常而不是唯一的 @Entity @Table(name = "question_list") public class QuestionList implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) private long id; @OneToOne(fetch = Fetc

生成的表问题列表\u已发送带有问题id字段-此字段带有唯一索引。如何将此字段注释为正常而不是唯一的

    @Entity
@Table(name = "question_list")
public class QuestionList implements Serializable {

    @Id @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;

    @OneToOne(fetch = FetchType.LAZY,cascade = {CascadeType.REFRESH,CascadeType.PERSIST})
    private User owner;

    @OneToMany(fetch = FetchType.LAZY,cascade = {CascadeType.REFRESH,CascadeType.PERSIST})
    @JoinTable(name = "question_list_sent",
            joinColumns = {@JoinColumn(name = "question_list_id",unique = false)},
            inverseJoinColumns = {@JoinColumn(name = "question_id",unique = false)}
    )
    private List<Question> sent;
@实体
@表(name=“问题列表”)
公共类问题列表实现了可序列化{
@Id@GeneratedValue(策略=GenerationType.AUTO)
私人长id;
@OneToOne(fetch=FetchType.LAZY,cascade={CascadeType.REFRESH,CascadeType.PERSIST})
私人用户所有者;
@OneToMany(fetch=FetchType.LAZY,cascade={CascadeType.REFRESH,CascadeType.PERSIST})
@JoinTable(name=“问题列表已发送”,
joinColumns={@JoinColumn(name=“question\u list\u id”,unique=false)},
inverseJoinColumns={@JoinColumn(name=“question\u id”,unique=false)}
)
发送私人名单;

您的JoinTable是OneToMany,这意味着一个问题列表可以有多个问题,但每个问题只有一个问题列表。要删除唯一约束,请将JoinTable设置为ManyToMany。

因为您用
@id
注释了id,它将是唯一的。主键必须根据定义是唯一的。我不理解结束原因,当我尝试将问题添加到问题列表发送的表中时。一个对象添加良好。第二个对象在我将问题列表发送的表中的问题id从唯一切换到正常时,出现sql错误,如键“UK\U ec3ea7kgh4fb1k0oq04m7gb69”的重复条目“1”。这一切都很好。为什么?