第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

與 SINGLE_TABLE 繼承的子類的關(guān)系

與 SINGLE_TABLE 繼承的子類的關(guān)系

手掌心 2023-09-20 17:04:16
我將一些 hbm 配置翻譯為帶注釋的 java 類。在 hbm 中,一些類是使用繼承策略“SINGLE_TABLE”定義的,并且其他一些實體以多對一關(guān)系將其引用為 Map。當我嘗試啟動該應用程序時,出現(xiàn)以下錯誤:Caused by: org.hibernate.AnnotationException: Map key property not found: com.package.MyClass.Id我在網(wǎng)上搜索了一些解釋,但沒有同時描述這種情況下的 SINGLE_TABLE 繼承策略和 OneToMany 行為。我的父類如下:@Entity@Table(name = "parentclass")@Inheritance(strategy = InheritanceType.SINGLE_TABLE)@DiscriminatorColumn(name = "type", length = 10, discriminatorType = DiscriminatorType.INTEGER)@DiscriminatorValue("100")public abstract class ParentClass {  @Id  @Column(name = "Id", length = 11)  @GeneratedValue(strategy=GenerationType.AUTO)  private Integer id;  ....}子班:@Entity@DiscriminatorValue("2")public abstract class ChildClass {  ....}具有以下關(guān)系的類:@Entity@Table(name = "otherclass")@PrimaryKeyJoinColumn(name = "IdSys")public class OtherClass extends OtherParent {  ....    @OneToMany    @JoinColumn(name = "IdOther")    @MapKey(name = "Id")    @Where(clause = "type = 2")    private Map<String, ChildClass> childClassMap;  ....}當它在 hbm 中定義時它就起作用了,所以我想它應該與注釋一起工作。
查看完整描述

1 回答

?
鴻蒙傳說

TA貢獻1865條經(jīng)驗 獲得超7個贊

我終于知道是什么問題了。

在hbm文件中,MapKey名稱指的是列名稱。但注釋引用了字段名稱。

所以而不是

@MapKey(name = "Id")

我必須有

@MapKey(name = "id")


查看完整回答
反對 回復 2023-09-20
  • 1 回答
  • 0 關(guān)注
  • 81 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號