java - 如何在休眠中修复此查询?
问题描述
所以我有这个查询如下:
/**
* @param partnerId .
* @return Notification
*/
@Query("SELECT p FROM PartnerNotification p "
+ "INNER JOIN account AS account " + "WHERE account.accountId = :partnerId ")
PartnerNotification findNotificationByPartnerId(@Param("partnerId") Integer partnerId);
我试图在合作伙伴通知@Entity 中选择合作伙伴 ID 与参数相等的所有列。partner_id 是我桌子上的外键,所以在我的实体中我有:
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "account_id")
private Account account;
也许这就是我试图测试我的一些想法的任何方式的问题,但就像第一次在那里我找不到问题所在。
所以我试过:
// /**
// * @param partnerId partnerId.
// * @return PartnerNotification
// */
// PartnerNotification findNotificationByPartnerId(Integer partnerId);
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "account_id")
private Account account;
/**
* @param partnerId .
* @return Notification
*/
@Query("SELECT p FROM PartnerNotification p "
+ "JOIN p.account acc WHERE acc.accountId = :partnerId ")
PartnerNotification findNotificationByPartnerId(@Param("partnerId") Integer partnerId);
和
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "account_id")
private Account account;
解决方案
试试这个
@Query(SELECT p FROM PartnerNotification p JOIN p.account acc WHERE acc.accountId = :partnerId)
希望能帮助到你!
推荐阅读
- sql - 两个并发但相同的 DELETE 语句会导致死锁吗?
- google-analytics - 谷歌分析自定义报告
- python - 使用 Python 提取 CSV 文件行
- android - 如何将数据从 PC(内联网连接)发送到应用程序?
- googletest - Catkin 找不到 gtest
- c# - 在 Azure Web App 中进行 nuget 更新后,Web API 返回 HttpResponseMessage 对象
- android - 当使用 ImagePicker 在 android 中选择多个图像时,离子应用程序关闭
- c# - 我的 if/else if 语句让我在运行前多次输入
- java - Java Spark:从HDFS删除目录时任务不可序列化错误
- gradle - 在 Groovy 中从 Gradle 访问属性