public class ItemSummary { public ItemSummary(Long itemId, String name, Date auctionEnd) { } }
@SqlResultSetMapping( name = "ItemSummaryResult", classes = { @ConstructorResult( targetClass = ItemSummary.class, columns = { @ColumnResult(name = "ITEM_ID"), @ColumnResult(name = "ITEM_NAME"), @ColumnResult(name = "ITEM_AUCTIONEND") } ) } )
Query q = em.createNativeQuery( "select " + "i.ID as ITEM_ID, i.NAME as ITEM_NAME, i.AUCTIONEND as ITEM_AUCTIONEND " + "from ITEM i ", "ItemSummaryResult" ); List<ItemSummary> result = q.getResultList(); assertTrue(result.get(0) instanceof ItemSummary); // Fails, Object[]