我想休眠生成一些表與外鍵等。我給你我想Hibernate來生成查詢的一個例子:休眠ForeignKey映射註釋
create table RealtimeCost(id INTEGER not null primary key Autoincrement,
mnemonic varchar(50)not null references Exchange(mnemonic),
sid int not null references License(sid),
price numeric(10,2) not null)
所以此查詢應該由Hibernate通過註解生成。對應的類是這樣的:
什麼在RealtimeCost
的
mnemonic
應該映射到
@Entity
@Table
public class RealtimeCost {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@MapsId("mnemonic")
@JoinColumn(referencedColumnName="sid")
private String mnemonic;
@MapsId("sid")
@JoinColumn(referencedColumnName="sid")
private Integer sid;
@Column
private Double price;
例子(RealtimeCost
每個助記符在Exchange
準確值爲1):
@Entity
@Table
public class Exchange {
@Id
@Column(name="mnemonic")
private String exchange;
@Column
private String description;
正如你可以看到我已經在文檔的幫助下嘗試了一下,但我無法通過休眠生成外鍵。如果有人能夠告訴我這個班級需要的註釋和價值,那真的很友善,所以我可以自己爲其他班級做這些。也請告訴我,如果我需要更改Exchange
類中映射工作的任何內容。在此先感謝
這是否將類型'ViewType'的對象映射到類'ViewType'的id? – Aelop
你能告訴我你是如何註釋viewtype ID嗎? – Aelop
對不起,對了。是的,它將實體映射爲ID參考。使用FetchType,您可以進一步指定應該如何加載它。 (Lazy or Eager) ViewType用這個'@AttributeOverrides({@AttributeOverride(name =「id」,column = @Column(name =「VIEWTYPE_ID」)) }''註解,但是這個註解是在類定義。因爲我們使用另一種聲明實體的策略。但id列是用@Id註解的。 這是'@ javax.persistence.Basic(fetch = javax.persistence.FetchType.EAGER,optional = false)' – Nico