在我的Spring应用程序中,我有一个名为Resource的实体:
@Entity
public class Resource {
List<Resource> list = em.createNativeQuery("select r.* from ...", Resource.class).getResultList();
为了特定目的,我需要将更多字段添加到结果中。因此,我创建了一个子类ExtendedResource:
@Entity
public class AreaResource extends Resource {
@Column(name="extra_field")
private Integer extra field;
List<ExtendedResource> list = em.createNativeQuery("select extra_field, r.* from ...", ExtendedResource.class).getResultList();
当我查询ExtendedResource时,这很正常,但是对于Resource,我得到了:
org.postgresql.util.PSQLException: The column name DTYPE was not found in this ResultSet.
有没有不需要麻烦地增加辨别列的解决方法?我猜 MappedSuperclass
是一个解决方案,但是我想避免创建额外的类。
谢谢。
@MappedSuperclass
。我认为List<Object[]>
不是一个选项,因为我还需要获取一些关联数据。 - user3170702