我一直在用这篇文章作为例子.我有一个复杂的连接查询(这里简化).它从两个表(以及使用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) 我正在尝试为oracle JDK创建docker映像,但是我能找到的唯一映像是打开的JDK。我们的应用程序使用oracle JDK,因此必须构建oracle JDK docker映像。我的问题是,是否有任何方法可以从tar文件或类似的文件中构建自定义的docker映像。如果我能在arg的docker文件中写什么?
像大多数人在这里和这里低调稀疏的Docker文档页面,我很困惑docker-compose logs.
当我跑步时cd /apps/laradock/ && docker-compose logs -f nginx,我看到很多天前的输出很长.
从中提取哪些文件?
我能找到的唯一的nginx日志文件是/apps/laradock/logs/nginx/error.log,它没有多少(所以不一样).
有没有办法"记录旋转"或以其他方式确保我在记录时不会花费超过一定数量的磁盘?
我在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
谁能帮我这个忙。谢谢
我已经下载了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;