小编Cas*_*der的帖子

如何在 Spring Boot 中使用 Mapstruct 映射父级和子级?

我有父级(产品)和子级(书籍、家具),并且希望将产品实体映射到产品 DTO。如您所见,产品被映射并存储在数据库中的单个表中。如何映射具有子项额外详细信息的父项产品?

我看过这个这个这个来得到一些想法,但没有运气

实体

@Entity
@Table(name = "product")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public class Product {
  @Id
  private long id;
  private String productName;
}

@Entity
@DiscriminatorValue("Book")
public class Book extends Product { 
  private String author;
  ...
}
@Entity
@DiscriminatorValue("Furniture")
public class Furniture extends Product {
  String color;
  ...
}
Run Code Online (Sandbox Code Playgroud)

数据传输组织

public class ProductDto {
  private long id;
  private String productName;
  ...
}

public class BookDto extends ProductDto {
  private String author;
  ...
}
public class …
Run Code Online (Sandbox Code Playgroud)

java spring-boot mapstruct

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

在EntityListener中注入SessionScoped有状态bean

我正在尝试在GlassFish 3上的Java EE JPA应用程序中实现某种审计.

@EntityListeners在我的@MappedSuperclass实体上添加了一个注释,监听器在其方法上有注释@PrePersist@PreUpdate注释,这些注释在运行时被愉快地调用.

在这些方法中,我试图用(@Inject)一@Named,@Stateful,@SessionScoped豆(UserSession为了获得当前用户的ID).监听器类根本没有注释.

问题是我无法UserSession注入豆子; 我总是最终得到一个null价值.到目前为止,我尝试了总是注入空值的plain .我@Inject UserSession us;也尝试过UserSession us = (UserSession) ctx.lookup("java:global/application/module/UserSession");总是返回一个新对象(我验证了构造函数调用,加上对象为).

我很确定我错过了一些关于CDI非常重要但我无法弄清楚是什么.有人可以指出我正确的方向吗?

java ejb glassfish javabeans cdi

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

JPA 2.0 CriteriaQuery,类型的谓词是类或任何子类

假设以下实体类和层次结构:

@Entity
Class Ticket {

    @ManyToOne(optional = true)
    private Customer customer;    

}

@Entity
Class Customer {}

@Entity
Class Person extends Customer {}

@Class CustomPerson extends Person {}
Run Code Online (Sandbox Code Playgroud)

如何查询具有customerPerson类型 Person的任何子类(即CustomPerson)的所有票证?

我可以轻松地在类型上创建谓词:

Predicate p = criteriaBuilder.equal(Ticket_...type(), criteriaBuilder.literal(Person.class));
Run Code Online (Sandbox Code Playgroud)

但这会过滤掉CustomPerson.

除非有一种通用的方法来处理这个(在JPA 2.0中),如果我能在运行时确定扩展Person的所有实体,我可以克服这个问题; 在这种情况下,我可以使用

Predicate p = criteriaBuilder.in(Ticket_...type(), listOfPersonSubclasses);
Run Code Online (Sandbox Code Playgroud)

java eclipselink java-ee jpa-2.0

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

Spring data Cassandra @Indexed 注解

我正在研究 Spring data Cassandra 在创建实体时,我为字段提供了所需的注释,但是当我为在架构中创建二级索引提供 @Indexed 注释时,我无法在不提供允许的情况下查询索引属性过滤。有人可以告诉我如何在 Cassandra 中使用 Spring 数据注释创建二级索引吗

This is the sample cod that I am using creating a Sprind data Cassandra Entity.@Indexed annotation not creating a secondary index in Cassandra database

import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import org.springframework.data.cassandra.mapping.CassandraType;
import org.springframework.data.cassandra.mapping.Column;
import org.springframework.data.cassandra.mapping.Indexed;
import org.springframework.data.cassandra.mapping.PrimaryKey;
import org.springframework.data.cassandra.mapping.Table;
import org.springframework.data.cassandra.mapping.UserDefinedType;
import com.datastax.driver.core.DataType;
import com.suntecgroup.xelerate.platform.demo.config.SpringContainer;
import com.suntecgroup.xelerate.platform.demo.store.CustomerCassandraStore;
import com.suntecgroup.xelerate.platform.demo.store.impl.CustomerCassandraStoreImpl;

@Table(value="CustomerCassandra")
public class CustomerCassandra extends CassandraEntity<Integer> {

    @PrimaryKey(value="cust_id")
    private Integer custId;
    @Indexed(value="name")
    private String name;
    @Indexed(value="email")
    private String email; …
Run Code Online (Sandbox Code Playgroud)

java spring spring-data-cassandra

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

AWS Fargate 实例无法向另一个实例发出请求

我有两个 ECS 集群,都运行 Fargate 1.3 任务(我们称它们为任务 A 和任务 B)。这两个任务都具有 awsvpc 网络类型,并且都具有自动分配的公共 IP。此外,两个集群/任务都位于同一 VPC 中。任务 A 与安全组 A 关联,任务 B 与安全组 B 关联(以及也与安全组连接的负载均衡器)。我正在尝试从任务 A 向任务 B 发出 http 请求。我 100% 确定我已正确设置安全组,即:

安全组A:

  • 出口到任何地方

安全组B:

  • 安全组 A 的入口(所有端口范围、所有协议、类型“所有流量”)

当我尝试从 A 向 B 发出请求时,出现超时错误。我知道这是一个安全组错误,因为如果我创建一个 Source = 无处不在的入口规则,它就会起作用。此外,如果我进去检查fargate任务A的公共IP地址,并将该IP地址添加到安全组B的入口,它也可以工作。

这里发生了什么?

amazon-web-services amazon-ecs amazon-vpc aws-security-group aws-fargate

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