此 attribute 為一個物件。
ex: 原有的 attribute A, B, C 被包裝為 Class X,那麼想使用 X 時就得加上此宣告。
@Embeddable
此物件可做為其他物件的 attribute。
@AttributeOverride
重新指定物件內屬性所對應的欄位名稱,若已是相同的欄位名稱則不需再指定。
@Entity(name = "ObjectX")
@Table(name = "TABLE_NAME")
public class ObjectX {
@Embedded
@AttributeOverrides({
@AttributeOverride(name = "a", column = @Column(name = "X_A")),
@AttributeOverride(name = "b", column = @Column(name = "X_B"))
})
public ObjectY getObjectY() { return objectY; }
}
@Embeddable
public class ObjectY {
@Column(name = "Y_A")
public String getA() { return a; }
@Column(name = "Y_B")
public String getB() { return b; }
}
沒有留言:
張貼留言