有可能oracle表有一個複合主鍵oracle sequenceid + createtimestamp,但@Entity類我們只有@id(sequenceid)主鍵?我們將添加時間戳用於表格分區的目的,後者用於清除。在存儲實體時,我們將始終添加時間戳值。從數據的角度來看,id本身就是這種情況下記錄的主要關鍵。我可以使用主鍵創建實體嗎?JPA2 PrimaryKey與Oracle主鍵
0
A
回答
0
在這種情況下,您必須在@ Entity類中創建複合主鍵。你可以按照下面的例子
@Entity
@Table(name="RELEASE_PERSON")
@IdClass(ReleasePersonPK.class)
public class ReleasePerson implements Serializable {
@Column(name="ORDER_NO", nullable=false, precision=2)
private Integer orderNo;
@Id
@Column(name="RELEASE_ID", insertable=false,updatable=false)
private long releaseId;
@Id
@Column(name="PERSON_ID", insertable=false,updatable=false)
private long personId;
@ManyToOne
@JoinColumn(name = "PERSON_ID", referencedColumnName = "PERSON_ID")
private Person person;
@ManyToOne
@JoinColumn(name = "RELEASE_ID", referencedColumnName = "ID")
private Release release;
和身份證類將看起來像下面
@Embeddable
public class ReleasePersonPK implements Serializable {
/**
*
*/
private static final long serialVersionUID = -6286499269052596345L;
private Person person;
private Release release;
在我ReleasePersone表例子中,我們將有複合主鍵從rRelease(ID)和人(PERSON_ID )。
讓我知道你是否需要別的東西。
+0
Thankyou。我的問題更多地是關於我們是否可以在oracle上使用複合鍵,並在jpa @Entity類上使用非複合鍵。 – 2013-03-08 15:16:13
0
答案是肯定的。正如你所說的那樣,id在表中是唯一的,那麼只需將sequenceId作爲PK放入實體即可。如果您不使用hibernate創建表或更新表的列,則它不關心數據庫中的實際內容。
相關問題
- 1. Oracle外鍵或主鍵
- 2. Oracle APEX 4.2主鍵?
- 3. MVC3/Razor添加控制器「Get-PrimaryKey」未能找到主鍵
- 4. 主鍵與鍵
- 5. GroceryCrud與SQL Server(primarykey問題)
- 6. Oracle SQL主鍵卡住了
- 7. 在oracle中更新主鍵
- 8. 與主鍵
- 9. 主鍵與RRN
- 10. 我如何在JPA2
- 11. ODBC與Oracle觸發鍵列
- 12. 約束與主鍵
- 13. 與主鍵混淆
- 14. Django的REST - 創建對象與PrimaryKey的
- 15. oracle自動增加到主鍵
- 16. 更改Oracle中的主鍵值
- 17. oracle主鍵以字母開頭
- 18. oracle數據庫的主鍵格式
- 19. Oracle APEX - 數據建模和主鍵
- 20. 按主鍵示例的Oracle SQL錯誤!
- 21. oracle - 用主鍵創建視圖
- 22. Oracle:查找主鍵 - PK和NN
- 23. 在oracle中查找表中的主鍵
- 24. FluentMigrator NonClustered PrimaryKey SqlServer?
- 25. Google Bigtable-primarykey
- 26. 預先加載一對多與JPA2
- 27. 堅持與JPA2接口類型列表
- 28. JPA2 Optimistick鎖
- 29. 組成的PrimaryKey JPA
- 30. Laravel 5.3忽略$ primaryKey
「PriamryKey」?你確定你拼寫正確嗎? – 2013-03-07 19:53:20
PrimaryKey我的意思是:-) – 2013-03-07 19:59:05