小编cod*_*key的帖子

@NamedNativeQuery与@SqlResultSetMapping为非实体

我一直在用这篇文章作为例子.我有一个复杂的连接查询(这里简化).它从两个表(以及使用CASE的派生列)返回值的子集.我认为我不需要使用实体注释,因为从我的结果集返回的对象不是我的架构中的实际表.

我想要保存的非实体对象来自我的连接查询:

@SqlResultSetMapping(
           name="myMapping",
           classes={
              @ConstructorResult(
                   targetClass=CarLimitDelta.class,
                     columns={
                        @ColumnResult(name="caseCol"),
                        @ColumnResult(name="colA"),
                        @ColumnResult(name="colB"),
                        }
              )
           }
)
@NamedNativeQuery(name="CarLimitDelta.getCarLimitDelta", 
        resultSetMapping="myMapping", 
        query="SELECT CASE "+ 
           "WHEN t.foo IS NULL THEN 'INS' "+
           "WHEN s.foo IS NULL THEN 'DEL' "+
           "ELSE 'UPD' "+
        "END caseCol "+
     ", T.bar colA "+
     ", S.bar ColB "+
     "FROM tableA S "+
     "FULL JOIN TableB ON S.bar= T.bar")

public class CarLimitDelta {
        private String caseCol;
        private String colA;
        private String colB;


    //getters/setters/etc
    }
Run Code Online (Sandbox Code Playgroud)

我的回购:

@Repository
public interface CarLimitRepository …
Run Code Online (Sandbox Code Playgroud)

java jpa named-query sqlresultsetmapping spring-data-jpa

8
推荐指数
1
解决办法
5794
查看次数

制作Oracle JDK Docker映像

我正在尝试为oracle JDK创建docker映像,但是我能找到的唯一映像是打开的JDK。我们的应用程序使用oracle JDK,因此必须构建oracle JDK docker映像。我的问题是,是否有任何方法可以从tar文件或类似的文件中构建自定义的docker映像。如果我能在arg的docker文件中写什么?

java openshift docker dockerfile

5
推荐指数
1
解决办法
3110
查看次数

`docker-compose logs`从何而来?

像大多数人在这里这里低调稀疏的Docker文档页面,我很困惑docker-compose logs.

当我跑步时cd /apps/laradock/ && docker-compose logs -f nginx,我看到很多天前的输出很长.

从中提取哪些文件?

我能找到的唯一的nginx日志文件是/apps/laradock/logs/nginx/error.log,它没有多少(所以不一样).

有没有办法"记录旋转"或以其他方式确保我在记录时不会花费超过一定数量的磁盘?

nginx docker docker-compose laradock

5
推荐指数
2
解决办法
1750
查看次数

Docker Flyway MySQL 8:客户端不支持服务器请求的身份验证协议。考虑升级MariaDB客户端

我在Docker容器中运行我的应用程序,在该容器中,flyway迁移工具在连接到MySQL DB(8.0.11)时出现错误:这是完整的错误:

无法从数据库(jdbc:mysql:// docker-mysql:3306)获取用户'deepti'的连接: 
客户端不支持服务器请求的身份验证协议。 
考虑升级MariaDB客户端。插件为= caching_sha2_password

这是我的docker-compose.yml:

版本:“ 3”

服务: 
  码头工人的MySQL:
    图片:mysql:8.0.11
    环境:
      -MYSQL_ROOT_PASSWORD = ...
      -MYSQL_DATABASE = test1
      -MYSQL_USER = ...
      -MYSQL_PASSWORD = ...

  flyway-service-i:
    图片:boxfuse / flyway
    命令:-url = jdbc:mysql:// docker-mysql:3306 -schemas = test1 -user = ... -password = ...
    数量:
     -“ ../resources/db/migration:/flyway/sql”
    依赖于取决于:
     -码头工人的MySQL 

  spring-boot-jpa-docker-webapp:
    图片:deepti / spring-boot-docker
    依赖于取决于:
      -码头工人的MySQL
    端口:
      -8080:8080
    环境:
      -DATABASE_HOST = docker-mysql
      -DATABASE_USER = ...
      -DATABASE_PASSWORD = ...
      -DATABASE_NAME = test1 
      -DATABASE_PORT = 3306
   

谁能帮我这个忙。谢谢

java mysql flyway docker docker-compose

4
推荐指数
1
解决办法
1918
查看次数

如何强制flyway清理我的docker oracle数据库?

我已经下载了Oracle Database EE的官方oracle docker映像。我有一个flyway配置,并且经常flyway:clean针对本地安装的XE版本的数据库运行。但是flyway告诉我不允许清理docker映像中的数据库,但可以迁移它。

有没有一种方法可以强制飞路清理Oracle数据库?

要回答评论中的问题:

这是通过Maven运行飞行路线时的错误消息:

org.flywaydb.core.api.FlywayException: Clean not supported on Oracle for system schema "SCHEMA_OWNER"! It must not be changed in any way except by running an Oracle-supplied script! -> [Help 1]
Run Code Online (Sandbox Code Playgroud)

我与之建立联系的用户 alter session set "_ORACLE_SCRIPT"=true;

oracle flyway docker oracle12c

2
推荐指数
1
解决办法
900
查看次数