I have the following JPA SqlResultSetMapping:
@SqlResultSetMappings({ @SqlResultSetMapping(name="GroupParticipantDTO", columns={ @ColumnResult(name="gpId"), @ColumnResult(name="gpRole"), // @ColumnResult(name="gpRemarks") } )
What is used as follows:
StringBuilder sbQuery = new StringBuilder("Select "); sbQuery.append(" gpId, "); sbQuery.append(" gpRole, "); // sbQuery.append(" gpRemarks "); sbQuery.append(" FROM v_group_participants_with_details "); Query query = em.createNativeQuery(sbQuery.toString(), "GroupParticipantDTO");
The view is as follows:
DROP VIEW IF EXISTS `v_group_participants_with_details`; CREATE VIEW `v_group_participants_with_details` AS SELECT gp.id AS gpId, gp.role AS gpRole, gp.remarks AS gpRemarks FROM GroupParticipation gp ;
The GroupParticipation table has a comment column defined as LONGTEXT (I use Mysql 5.x)
Now for the problem: When the comments field is commented out from the request, everything works fine, but if I try to include the comments field in the request, I get the following error:
javax.persistence.PersistenceException: org.hibernate.MappingException: No Dialect mapping for JDBC type: -1 at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException (AbstractEntityManagerImpl.java:614) at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:76)
What gives? How can I get the LONGTEXT column from my own query?
source share