Java 冬眠数据库中的OneToOne映射

Java 冬眠数据库中的OneToOne映射,java,hibernate,jpa,mapping,one-to-one,Java,Hibernate,Jpa,Mapping,One To One,我有以下映射: @Entity @Table(name="terminal_user") public class TerminalUser { @OneToMany(mappedBy="user",fetch = FetchType.LAZY) private Set<UserContent> userContentSet; .... } 设置hibernate.hbm2ddl.auto以创建 我看到以下数据库图: 对于我来说,表用户内容和内容之间的

我有以下映射:

@Entity
@Table(name="terminal_user")
public class TerminalUser {

    @OneToMany(mappedBy="user",fetch = FetchType.LAZY)
    private Set<UserContent> userContentSet;
    ....
}

设置
hibernate.hbm2ddl.auto
以创建

我看到以下数据库图:

对于我来说,表
用户内容
内容
之间的关系不是一对一的关系

它看起来与
终端用户
用户内容
的关系相同,是一对多的关系


我错了什么?

唯一的约束将产生不同:

@Entity
@Table(name = "content")
public class Content {
@OneToOne
    @JoinColumn(name = "user_content_id", unique=true)
    UserContent userContent;
    ....
}

我知道这并不能回答你的问题,但是你为什么不使用逆向工程工具呢?它让生活变得容易多了!准备好你的数据库,然后“魔术”!例如,sybase power designer?只需休眠工具即可从数据库转换为代码。您可以使用MySQL workbench或任何您想要使用的工具,从图表到数据库。我总是这样。我从不写自己的映射。我只是简单地添加了hibernate不会自动生成的内容。
@Entity
@Table(name = "content")
public class Content {
@OneToOne
    @JoinColumn(name = "user_content_id")
    UserContent userContent;
    ....
}
@Entity
@Table(name = "content")
public class Content {
@OneToOne
    @JoinColumn(name = "user_content_id", unique=true)
    UserContent userContent;
    ....
}