此 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; } }
沒有留言:
張貼留言