我正在使用JPA的Hibernate实现(Hibernate版本:4.2.1,JPA版本:1.8.1)。我有一些本机查询,其结果映射到我的自定义POJO列表(标记为@Entity)。但是,当查询执行时,我会得到一个在我的MySQL模式中创建的空表,该表具有POJO中的属性。考虑到如果不将本机查询结果标记为“实体”,就不可能将其映射到POJO,我如何确保没有表添加到现有模式中。
package abc;
@Entity
public class Myclass
{
@Id
private Integer productId;
private String productName;
public MyClass(){
}
/**getters and setters for productId and productName**/
}
List<Integer> productIdList = new ArrayList<>();
productIdList.add(1);
productIdList.add(20);
productIdList.add(34);
List<MyClass> myList=(List<MyClass>)(entityManager.createNativeQuery("select p.productId, p.productName from products p where p.productId IN (:productIdList)",MyClass.class).setParameter("productIdList", productIdList).getResultList());
hibernate.hbm2ddl.auto在创建SessionFactory时自动验证模式DDL或将其导出到数据库。使用create-drop,当显式关闭SessionFactory时,将删除数据库架构。
我尝试使用的将本机SQL查询映射到POJO类,如下所示: 然后,为了在创建本机查询时使用声明的结果集映射,我通过它的名称引用它: 但这对我不起作用,我得到以下错误:
问题内容: 我有一个带有本地查询的Spring Data Repository方法 并且我想将结果映射到Non-Entity POJO 。 是否可以,如果可以,请提供示例吗? 问题答案: 假设在Orid的答案中使用GroupDetails,您是否尝试过JPA 2.1 @ConstructorResult? 并在存储库界面中使用以下命令: 根据springJPA的数据文件,spring将首先尝试找到
并且我希望将结果映射到非实体POJO。 是否可能?如果可能,请提供一个例子?
我有一个复杂的本机查询,我正在尝试将其结果映射到非实体DTO类。我正在尝试使用的with 我的DTO类 我的entity类,它具有我将调用此本机查询结果的存储库接口。 存储库 当我从ItemRepository调用getItemDetails()时,出现以下错误: org.springframework.data.mapping.属性引用异常:没有属性项找到项目类型的详细信息 使用和并解决此问题的