Java 冬眠。不同项目中相同一对一映射的不同行为
我已映射实体:Java 冬眠。不同项目中相同一对一映射的不同行为,java,hibernate,one-to-one,Java,Hibernate,One To One,我已映射实体: Entity @Table(name="user_content") public class UserContent { @GenericGenerator(name = "generator", strategy = "foreign", parameters = @Parameter(name = "property", value = "content"))
Entity
@Table(name="user_content")
public class UserContent {
@GenericGenerator(name = "generator", strategy = "foreign", parameters = @Parameter(name = "property", value = "content"))
@Id
@GeneratedValue(generator = "generator")
@Column(name = "content_id", unique = true, nullable = false)
private Long contentId;
@Column(name = "name")
String name;
@Column(name = "moderate_comment")
String moderateComment;
@OneToOne(fetch = FetchType.LAZY)
@PrimaryKeyJoinColumn
Content content;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getModerateComment() {
return moderateComment;
}
public void setModerateComment(String moderateComment) {
this.moderateComment = moderateComment;
}
public Content getContent() {
return content;
}
public void setContent(Content content) {
this.content = content;
}
}
我有两个项目使用
hibernate.hbm2ddl.auto
设置为create
。我很困惑,但这段代码在我不同的项目中创建了不同的数据库
第一名:
这是预期和期望的行为
秒:正如你所见,不动产丢失了 我不明白在哪里可以找到这个问题的原因
请帮助查找。我浪费了很多时间,最终我发现第二个varian不起作用,因为以下依赖项被添加到了
pom.xml
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-annotations</artifactId>
<version>3.6.3.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-commons-annotations</artifactId>
<version>3.3.0.ga</version>
</dependency>
org.hibernate
休眠注释
3.6.3.最终版本
org.hibernate
hibernate commons注释
3.3.0.ga
在我移除他们的关系后,他们的关系变成了一种创造
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-annotations</artifactId>
<version>3.6.3.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-commons-annotations</artifactId>
<version>3.3.0.ga</version>
</dependency>