小编Mil*_*lan的帖子

带有Spring Boot的Hibernate Envers - 配置

我正在尝试设置Hibernate Envers以使用我的Spring Boot应用程序.

我已经包含了Envers依赖项并添加了@Audited注释,它工作正常,但我无法配置特定的Envers属性,Spring Boot似乎没有接受它们.

具体来说,我试图通过将这些设置为application.properties来为审计表设置不同的数据库模式,但没有运气:

hibernate.envers.default_schema=app_audit
Run Code Online (Sandbox Code Playgroud)

要么

org.hibernate.envers.default_schema=app_audit
Run Code Online (Sandbox Code Playgroud)

要么

spring.jpa.hibernate.envers.default_schema=app_audit
Run Code Online (Sandbox Code Playgroud)

这些都不奏效.有谁知道如何设置这些?

编辑.

正如M. Deinum建议我尝试的那样:

spring.jpa.properties.org.hibernate.envers.default_schema=app_audit
Run Code Online (Sandbox Code Playgroud)

它工作了!

spring hibernate jpa hibernate-envers spring-boot

21
推荐指数
3
解决办法
2万
查看次数

AWS StepFunction - 无法更新状态机

我有一个工作 StepFunction 状态机,有 4 个步骤触发 4 个 Lambda。

由于其中一个步骤将是一个运行时间较长的任务,因此我决定将其中一个 Lambda 转换为 Fargate 任务。

配置 ECS 和 Fargate 任务后,我尝试更新状态机定义,但收到错误:Failed to update state machine.没有任何其他消息。

我的状态机定义似乎是有效的,就是这样,只是没有实际的 ARN:

{
  "Comment": "My Workflow",
  "StartAt": "Step1",
  "States": {
    "Step1": {
      "Type": "Task",
      "Resource": "copy-pasted-arn-of-lambda",
      "Next": "Step2"
    },
    "Step2": {
      "Type": "Task",
      "Resource": "arn:aws:states:::ecs:runTask.sync",
      "Parameters": {
        "LaunchType": "FARGATE",
        "Cluster": "copy-pasted-arn-of-cluster",
        "TaskDefinition": "copy-paster-arn-of-task-definition",
        "Overrides": {
          "ContainerOverrides": [
            {
              "Name": "container-name",
              "Command.$": "$.commands"
            }
          ]
        }
      },
      "Next": "Step3",
      "Catch": [
        {
          "ErrorEquals": [
            "States.ALL"
          ],
          "Next": …
Run Code Online (Sandbox Code Playgroud)

aws-step-functions

9
推荐指数
1
解决办法
4448
查看次数

如何使用AWS CDK在CDK构建上安装Lambda函数的依赖项

使用AWS SAM时,我曾经运行build命令,该命令将遍历我所有的Lambda函数包并安装它们的依赖项(npm install在它们上运行)。

如何使用AWS CDK实现相同的行为?它似乎不是自动执行的,还是我缺少了什么?

amazon-web-services aws-cdk

6
推荐指数
2
解决办法
476
查看次数

数组作为Rails中find_or_create_by的条件

我有这样的事情:

types = ['landline', 'cell']
Phone.find_or_create_by(person_id: 1, type: types) do |record|
 record.number = '0'
end
Run Code Online (Sandbox Code Playgroud)

这行不通。不会创建新记录。但是当我重写它看起来像这样:

types = ['landline', 'cell']
types.each do |type|
 Phone.find_or_create_by(person_id: 1, type: type) do |record|
  record.number = '0'
 end
end
Run Code Online (Sandbox Code Playgroud)

有用。

有什么想法为什么find_or_create_by不能将数组作为条件?

ruby-on-rails ruby-on-rails-4

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

Apache Cassandra - 使用LIMIT作为参数无法正常工作的Accessor

我正在尝试将参数传递给Accessor查询.我有以下内容:

@Accessor
public interface ActivityAccessor {

    @Query("SELECT * FROM activity WHERE user_id = :id limit :limit")
    Result<UserActivity> findUserActivityByUserId(@Param("id") Long ownerId, @Param("limit") int limit);
}
Run Code Online (Sandbox Code Playgroud)

使用以下方法调用访问器方法:

MappingManager manager = new MappingManager (getSession());
ActivityAccessor activityAccessor = manager.createAccessor(ActivityAccessor.class);
Result<UserActivity> activities = activityAccessor.findUserActivityByUserId(userId, 20);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Caused by: com.datastax.driver.core.exceptions.SyntaxError: line 1:99 no viable alternative at input 'limit' (... LIMIT :[limit])
Run Code Online (Sandbox Code Playgroud)

但是,当我更改访问器方法以显式声明限制值时,它可以正常工作:

@Query("SELECT * FROM activity WHERE user_id = :id limit 20")
Result<UserActivity> findUserActivityByUserId(@Param("id") Long ownerId);
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么会发生这种情况?

cassandra datastax-java-driver

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