1) CREATE or replace view camera_layout AS
select layout_id, unnest(layout.camera_ids) as camera_id from layout
2) CREATE or replace view camera_region AS
select c.camera_id as camera_id ,object.region_id
FROM object LEFT JOIN camera c on object.object_id = c.object_id WHERE object.region_id = ?1
3) CREATE or replace view region_layout AS
select distinct cl.layout_id from camera_layout cl,
camera_region cr where cl.camera_id in (select cr.camera_id from camera_region cr)
4) SELECT l from layout l where l.layout_id in (select rl.layout_id from region_layout rl)
我的服务是这样的:
存储库:
@Repository
public interface LayoutRepository extends JpaRepository<Layout,Integer> {
@Query(value = "create or replace view camera_layout AS\n" +
"select layout_id, unnest(layout.camera_ids) as camera_id from layout" ,
nativeQuery = true)
void createViewLayoutCamera();
@Query(value = "CREATE or replace view camera_region AS\n" +
"select c.camera_id as camera_id ,object.region_id\n" +
"FROM object LEFT JOIN camera c on object.object_id = c.object_id WHERE object.region_id = ?1 " +
"",nativeQuery = true)
void createViewCameraRegion(Integer region);
@Query(value = "create or replace view region_layout AS\n" +
" select distinct cl.layout_id from camera_layout cl,\n" +
"camera_region cr where cl.camera_id in (select cr.camera_id from camera_region cr)",nativeQuery = true)
void createViewRegionLayout();
@Query( value = "select l from layout l where l.layout_id in (select rl.layout_id from region_layout rl)",nativeQuery = true)
List <Layout> filterRegion();
@Override
public List<LayoutDTO> filterRegion(Integer region_id) {
ArrayList<LayoutDTO> convert_objects = new ArrayList<>();
LayoutDTO conv_object;
layoutRepository.createViewLayoutCamera();
layoutRepository.createViewCameraRegion(region_id);
layoutRepository.createViewRegionLayout();
List <Layout> objects = layoutRepository.filterRegion();
当尝试执行时。它返回“查询没有返回结果”,Hibernate SQL调试器表示只有第1个查询有效。“Hibernate:创建或替换view camera_layout AS select layout_id,unnest(layout.camera_ids)AS camera_id from layout”其余部分分解,尽管它们应该能帮助我,但我还是提前感谢
@Modifying
@Query(value = "create or replace view camera_layout AS\n" +
"select layout_id, unnest(layout.camera_ids) as camera_id from layout" ,
nativeQuery = true)
void createViewLayoutCamera();
我对Spring中的原生查询有一个问题。我在param value中使用了带有参数nativequery=true注释@query和SQL查询。 而在RezerWacjamanager.java中: 问题是什么时候调用方法RezerWacjadao.getDoStepnosCnatypy(dataOd,dataDo)并执行此查询。我得到一个错误错误: DoStepNosCtypyListdTo.j
但是显示错误“Distinc expected”,是因为我在@Query注释中使用了*而得到的吗?请问怎么了?
我一直试图理解HQL和JPQL之间的区别。冬眠留档在这里 建议写入选择是JPQL所必需的,但不是在HQL中。但是当我尝试在Spring数据JPA的查询注释中编写HQL或JPQL时,HQL和JPQL都可以工作。 我的理解是,既然查询注释是针对JPA的,为什么支持HQL? 或者让我换个说法- 我们可以在查询注释中编写HQL吗——Spring数据JPA支持两者吗?
问题内容: 有什么方法可以通过JPA注释指定SQL注释?表和列的注释。 问题答案: 有什么方法可以通过JPA注释指定SQL注释?表和列的注释。 否。如果要定义表和列注释,最好的选择是在生成的DDL中根据事实进行操作,然后再对数据库执行操作。
关于注释和注释,我遇到了一个有趣的问题在Spring Boot项目上,spring data jpa也在项目中。 基本上,我有软删除机制,这是为实体设置一个有效的日期(例如属性列在实体类中带有属性)。这些实体用注释类似于。这样,将设置为now和before的软删除的实体自动删除。(例如实体类) 我还有一些其他实体没有(例如实体类) 以及其他一些可用的表。如果是Jpa查询带注释的方法。我正面临着一些
问题内容: 我正在使用R包通过R访问我的PostgreSQL数据库(9.3)。我有一些非常长且较大的sql查询(从raster2pgsql生成的几个MB大。)。 如何在R中以语句形式发送/执行sql查询文件? 正常方式 似乎无法通过来工作。我试图通过读取整个sql文件作为字符向量,但是这也失败了,因为dbSendQuery显然仅支持单个命令? 问题答案: 或仅用于“ SQL”部分,而不是psql命