我正在学习休眠....
@Id
@GeneratedValue(generator="foreign")
@GenericGenerator(name="foreign", strategy="foreign", parameters={
@Parameter(name="property" ,value="company")
})
public Long getId() {
return id;
}
在上面的代码中,我了解除了这些行以外的大多数事情
parameters={
@Parameter(name="property" ,value="company")
}
请帮忙
对于每个GenericGenerator,您可以传递有关策略的键/值(参数)列表。
使用策略“洋” A GenericGenerator预计一个参数叫做“财产”和预期值是实体名称。这意味着您实体的ID将与链接实体相同。
例如:
作者实体:
@Entity
@Table(name="authors")
public class Author {
@Id
@GeneratedValue
private Integer id;
private String name;
@OneToOne(mappedBy="author", cascade=CascadeType.ALL)
private Biography biography;
}
传记实体:
@Entity
@Table(name="biographies")
public class Biography {
@Id
@Column(name="id")
@GeneratedValue(generator="gen")
@GenericGenerator(name="gen", strategy="foreign",
parameters=@Parameter(name="property", value="author"))
private Integer id;
@OneToOne
@PrimaryKeyJoinColumn
private Author author;
}
在这种情况下,每个传记ID都将具有与作者ID相同的ID。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句