JPA kalıcılık sağlayıcımı EclipseLink 2.3'ten Hibernate 3.6.5.Final'e geçirmek için çalışıyorum. Sorun, yerel bir sorgu ile. Not: Bu EclipseLink ile ilgili bir sorun değildi. Bir varlık için bildirilen bir skaler değer, bir String
elde etmeye çalışıyorum. döndürülen nesne aslında bir proxy nesnesi olduğundan hazırda ilegetSingleResult, yerel skaler sorgusunda proxy'yi hazırda bekleme durumuna döndürüyor
Query q = em.createNativeQuery("select description from foo where foo_id = ?");
q.setParameter(1, fooId);
String description = (String)q.getSingleResult();
Ben ClassCastException
olsun: Burada kodudur. Ne tür olduğunu bilmiyorum ama bir dizi olmadığını biliyorum (object.getClass().isArray()
yanlıştır) ve bir liste olmadığını biliyorum (object instanceof List
false
).
Neyi eksik?
Hangi arabirimler 'q.getSingleResult(). GetClass(). GetInterfaces()' return? –
Ahhh ... ihtiyacım olan buydu. Bu java.sql.Clob, org.hibernate.engine.jdbc.WrappedClob ve java.io.Serializable türüdür. Eğer bunu cevaplarsan kabul edeceğim. Kolonun bir clob olduğunun farkında bile değildim ve EclipseLink'in benim için String'e dönüşümünü yaptığına şaşırdım. – Ryan
Memnun olurum! –