Jdbc 模板和 oracle 的映射 /config
mapping /config for Jdbc template and oracle
我在 Oracle 中有这个巨大的非规范化 "product" table,有数百列。有几种产品。并非所有列都适用于每种产品。那些不适用于特定 row/product 的列在 table 中的值为 NULL。我需要在产品名称和列名称之间创建映射。我正在使用 Jdbc 模板和 spring 启动。我正在构建一个微服务。如果用户将特定产品作为查询参数,则应仅返回与特定产品相关的列。
关于我应该如何做这件事有什么想法吗?
谢谢你的时间。
除非您手动创建附加列名的查询,否则无法使用 jdbctemplate 进行简短回答。
如果您正在使用 Hibernate/JPA 那么您可以使用条件查询,假设您有多个单独的 POJOS,一个用于每个特定产品类型,一个 POJO 用于非规范化类型。
CriteriaQuery<T> cq = builder.createQuery(SpecificProduct.class);
// write the Root, Path elements as usual
Root<EntityClazz> root = cq.from(EntityClazz.class);
cq.multiselect(root.get(EntityClazz_.COL1), root.get(EntityClazz_.COL2)); //using metamodel
List<T> result = em.createQuery(cq).getResultList()
看到类似的回答here
我在 Oracle 中有这个巨大的非规范化 "product" table,有数百列。有几种产品。并非所有列都适用于每种产品。那些不适用于特定 row/product 的列在 table 中的值为 NULL。我需要在产品名称和列名称之间创建映射。我正在使用 Jdbc 模板和 spring 启动。我正在构建一个微服务。如果用户将特定产品作为查询参数,则应仅返回与特定产品相关的列。
关于我应该如何做这件事有什么想法吗?
谢谢你的时间。
除非您手动创建附加列名的查询,否则无法使用 jdbctemplate 进行简短回答。
如果您正在使用 Hibernate/JPA 那么您可以使用条件查询,假设您有多个单独的 POJOS,一个用于每个特定产品类型,一个 POJO 用于非规范化类型。
CriteriaQuery<T> cq = builder.createQuery(SpecificProduct.class);
// write the Root, Path elements as usual
Root<EntityClazz> root = cq.from(EntityClazz.class);
cq.multiselect(root.get(EntityClazz_.COL1), root.get(EntityClazz_.COL2)); //using metamodel
List<T> result = em.createQuery(cq).getResultList()
看到类似的回答here