3
我使用帶註釋的Hibernate 3.3.2.GA。Hibernate:@EmbeddedId,繼承和@SecondaryTable
我有兩個類之間的繼承,前者:
@Entity
@Table(name = "SUPER_CLASS")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(
name="DISCR_TYPE",
discriminatorType= DiscriminatorType.STRING
)
@org.hibernate.annotations.Entity(mutable = false)
public class SuperClass { }
子類被映射與仲表:
@Entity
@DiscriminatorValue("VALUE")
@org.hibernate.annotations.Entity(mutable = false)
@SecondaryTable(name = "V_SECONDARY_TABLE",
pkJoinColumns = @PrimaryKeyJoinColumn(name = "ID", referencedColumnName = "ID"))
public class SubClass extends SuperClass {
@Embedded
public Field getField() {
return getField;
}
}
其中場是由兩個不同的領域
@Embeddable
public class Field {
@Column("FIELD_1") String field1
@Column("FIELD_2") String field2
}
的
現在,當我在SubClass上創建查詢時,在Su上搜索FIELD_1和FIELD_2字段perClass,即使它們是在子類中定義的。
我無法在字段的@Column註釋中設置表,因爲Field類在某處重用。我需要在SubClass類中指定它。
如何指定該字段應在輔助表中進行搜索?
謝謝你的回答。你是否介意給我另一個建議,不幸的是我忘了指定一個部分?我不能簡單地將table屬性放在@Column註釋中,因爲它在另一個類中被重用。再次感謝 – 2010-11-12 09:09:26
@volothamp請參閱**更新** – 2010-11-12 14:15:52