JPQL: Innerselect الأسباب PersistenceException (HibernateException: أخطاء في الاستعلامات المسماة)

StackOverflow https://stackoverflow.com/questions/1868683

  •  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"

تم تسجيل هذا الخطأ وغير متاح في الاستثناء.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top