我已映射实体:
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;
}
}
@Entity
@Table(name = "content")
public class Content {
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "content_id", unique = true, nullable = false)
private Long contentId;
@OneToOne(fetch = FetchType.LAZY, mappedBy = "content", cascade = CascadeType.ALL)
UserContent userContent;
public UserContent getUserContent() {
return userContent;
}
public void setUserContent(UserContent userContent) {
this.userContent = userContent;
}
public Long getContentId() {
return this.contentId;
}
public void setContentId(Long id) {
this.contentId = id;
}
}
我有2个项目,我将hibernate.hbm2ddl.auto
设置为create
。我很困惑,但这段代码在我的不同项目中创建了不同的数据库。
首先
这是预期和期望的行为。
第二
正如你所看到的那样,缺少了现实。
我不明白在哪里可以查找此问题的原因。
Pleasr帮助找到。
答案 0 :(得分:0)
我浪费了很多时间,最后我注意到第二个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>
在我删除他们之后 - 关系变成了创造。