gpt4 book ai didi

java - 如何在hibernate继承中使用父id获取数据

转载 作者:行者123 更新时间:2023-12-01 09:13:44 24 4
gpt4 key购买 nike

我正在使用每个子类继承概念的 hiberntate 表。这是我的示例代码

@Entity
@Table
@Inheritance(strategy = InheritanceType.JOINED)
public class Payment{
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;

@Column
private double amount;
}

@Entity
@Table
@PrimaryKeyJoinColumn(name = "payment_id")
public class CreditCard extends Payment{
@Column
private String CreditCardType;
}

在这里,当通过子类的父 id 获取子类时,我收到了类似“where 子句”中的未知列“this_.id”的异常。我的查询是

List<CreditCard> creditCardList =
getSessionFactory().getCurrentSession().createCriteria(CreditCard.class,
"card").add(Restrictions.eq("card.id", id)).list();

最佳答案

在您的父类中,Identifier 属性被命名为 id,但在子类中,您将 PrimaryKeyJoinColumn payment_id 映射。根据您的评论,我相信您的属性和列的名称相同。

将列名称更改为 id 而不是 payment_id,如下所示,它应该可以工作。

@PrimaryKeyJoinColumn(name = "id")

关于java - 如何在hibernate继承中使用父id获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40737824/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com