小编Ash*_*ari的帖子

在同一实体类上运行两个@NamedNativeQuery查询

我想在实体类上定义两个@NamedNativequery。当试图定义日食时会出现错误。

不可重复类型@NamedNativeQuery的重复注释。只有标记为@Repeatable的注释类型可以在一个目标上多次使用。

从这个错误中,我知道我们不能定义两个定义实体类的两个@NamedNativeQuery

    @Entity
    @Table(name = "abc")
    @NamedNativeQuery(name = "ABC.getSomeMethod1" query = "some_query",resultSetMapping ="abcDTO")//1st name query
   // @NamedNativeQuery(name = "some_name" query = "some_query",resultSetMapping ="some_dto")//try to define second query , but gives error
    public class ABC {

      }
Run Code Online (Sandbox Code Playgroud)

我在dao层使用spring存储库来调用与该查询绑定的方法

  public interface SomeInterface extends JpaRepository<ABC, Long> {


    @Query(nativeQuery =true)
   List<ABCDTO> getSomeMethod1(@Param("someParam1")  long someParam1, @Param("someParam2") String someParam2);


   }
Run Code Online (Sandbox Code Playgroud)

senario是我想运行第一个本机sql(运行正常)查询,然后运行第二个本机sql查询(想要从同样运行此)。如何解决此问题或可能的解决方案。

如果这样我不能运行两个本机sql查询,那么还有其他方法可以实现这一点。

spring named-query spring-data spring-data-jpa spring-repositories

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

在命令和事件中使用值对象?

我们可以在命令中使用值对象吗?

假设我有一个商店(聚合),其中有一个值对象地址。在值对象构造函数 Address 中,我放置了一些地址验证逻辑。因此,如果我在 command (CreateShopCmd) 中使用该 Address 对象,那么它会在制作 command 时得到验证,但我想要或读取的验证应该存在于命令处理程序中。

但问题是,我必须再次将验证放入命令处理程序中(因为验证已存在于地址构造函数中),如果我不将其放入命令处理程序中,那么当我在中创建地址对象时,将进行验证事件处理程序并分配给商店聚合(这是不正确的)

所以,请指导我。

下面是代码示例

   @Aggregate
   @AggregateRoot
   public class Shop {

   @AggregateIdentifier
   private ShopId shopId;
   private String shopName;
   private Address address;

   @CommandHandler
   public Shop(CreateShopCmd cmd){

     //Validation Logic here , if not using the Address in 
     // in cmd

         //Fire an event after validation
         ShopRegistredEvt shopRegistredEvt = new ShopRegistredEvt();
         AggregateLifecycle.apply(shopRegistredEvt);
     }

     @EventSourcingHandler
     public void on(ShopRegistredEvt evt) {

     this.shopName = evt.getShopName();

     //Validation happend here if not put in cmd at the time of …
Run Code Online (Sandbox Code Playgroud)

domain-driven-design cqrs event-sourcing axon

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