Java 休眠JPA加载实体中的选定列
我有一个包含Java 休眠JPA加载实体中的选定列,java,hibernate,jpa,Java,Hibernate,Jpa,我有一个包含500列的实体。但是,在少数情况下,我只需要100列。所需的列列表会根据配置进行更改 例如 Query query = entityManager.createNativeQuery("Select NAME, AGE from CUSTOMER",Customer.class); 它正在为缺少的列抛出一个错误 是否有任何方法可以在实体中加载选定列并忽略其他列。您可以使用投影查看 请发布您的客户课程。再看看为什么你的实体有500列?那里大约有450列太多了。正如我在问题中所说的,
500列的实体。但是,在少数情况下,我只需要100
列。所需的列列表会根据配置进行更改
例如
Query query = entityManager.createNativeQuery("Select NAME, AGE from CUSTOMER",Customer.class);
它正在为缺少的列抛出一个错误
是否有任何方法可以在实体中加载选定列并忽略其他列。您可以使用投影查看
请发布您的客户课程。再看看为什么你的实体有500列?那里大约有450列太多了。正如我在问题中所说的,列列表不是固定的。因此,我无法编写固定查询或结果集映射。用户可以在运行的应用程序中更改配置,列集也会相应更改。例如,我可能需要同时加载name和age列或仅加载name。所以我需要一些动态的东西,这样我就可以根据配置选择字段并加载实体。它将返回result集中的对象列表。我需要实体的形式。产品列表。您可以获取实体列表列表列表=条件。列表();
Criteria criteria = session.createCriteria(Product.class);
criteria = criteria.setProjection(
Projections.projectionList()
.add(Projections.id())
.add(Projections.property("name")));