SlideBoom – collaborative media
Hello, Guest   |   Sign In   |   Sign Up
Home
Presentations
People
Groups
Join Now
Upload


0

No comments posted yet

Comments

Previous page 1-10 of 34 Next page
Previous page 1-10 of 34 Next page
Presentation Transcript
Slide 1

問題一

ORM 關於繼承與複合鍵的問題如下:
父類別是抽象類別,父類別已定義 主鍵 = 序號
有兩個子類別繼承
子類別的 主鍵 = 子類別型態 + 父類別序號

要怎樣用 hibernate 的 ORM 實現這種設計?

Slide 2

回答一

首先須了解 ENTITY_TYPE 代表類別型態這件事的定義,我猜測 ParentEntity, Child1Entity, Child2Entity 裡頭有有對應的 entityType 屬性, 如果確定答案是肯定的,就不用以下設定方式 <discriminator column=“ENTITY_TYPE” type=“string” length=“10” /> 應改用以下 ORM 設定方式
<discriminator column="CLASS_TYPE" type="string" length="10" /> <property name="entityType" column="ENTITY_TYPE" /> <subclass name="Child1Entity" discriminator-value="Child1"> ... </subclass> <subclass name="Child1Entity" discriminator-value="Child2"> ... </subclass>

Slide 3

回答一 (續前頁)

如果ParentEntity, Child1Entity, Child2Entity 裡頭沒有對應的 entityType 屬性,那麼複合鑑的問題又要怎樣處理? 這部分有幾種選項,說明如下
採用 hibernate 提供的 composite-id 設定方式
由物件負責處理,以ParentEntity (右方程式)為例,其 ORM 可以宣告如下 <id name=“entityId” column=“ENTITY_ID” length=“128”/>
另外寫一個 EntityID 產生程式



class ParentEntity { String serial; String entityType; public String getSerial() { return serial; } public String getEntityType() { return tokenType; } public String getEntityId() { return getEntityType()+getSerial(); } protected void setEntityId(String eid) { // do nothing } }

諮詢服務Q&A 1113

Author: tommykao Added: 1 month ago Topic: Computers

8 Views    0 Embeds    Language: Chinese (Detected)


tommykao's Presentations Previous Page Next Page
Enterprise Java Bean 3.0 - 03
Enterprise J...
Enterprise Java Bean 3.0 - 02
Enterprise J...
Enterprise Java Bean 3.0 - 01
Enterprise J...
諮詢服務Q&A 1202
諮詢服務Q&A...