JPQL: Innerselect الأسباب PersistenceException (HibernateException: أخطاء في الاستعلامات المسماة)
-
18-09-2019 - |
سؤال
أحاول استخدام تحديد داخلي، ولكن احصل فقط على الاستثناء "HibernateException: أخطاء في الاستعلامات المسماة"
كلا كيانات JPA:
public class A implements Serializable {
@Id
@Column(nullable = false)
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
}
public class B implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@JoinColumn(name = "FK_A_ID", nullable = true)
@ManyToOne
private A a;
}
يؤدي هذا الاستعلام إلى الاستثناء:
SELECT a FROM A a WHERE a.id NOT IN (SELECT b.a.id FROM B b)
ولكن هذا لا يسبب استثناء:
SELECT a FROM A a WHERE a.id NOT IN (1, 2, 3)
هل لديك فكرة ما الخطب؟ شكرا جزيلا...
المحلول
السبب كان مرئيا على الإخراج الآخر:
QuerySyntaxException: "Tablename is not mapped"
تم تسجيل هذا الخطأ وغير متاح في الاستثناء.
لا تنتمي إلى StackOverflow