在 Roo 2.0 中,我想使用 JPA 查询方法

Posted

技术标签:

【中文标题】在 Roo 2.0 中,我想使用 JPA 查询方法【英文标题】:In Roo 2.0 I want to use JPA Query Method 【发布时间】:2018-01-19 10:59:38 【问题描述】:

我打算写一个类似的查询方法

/**
 * TODO Auto-generated method documentation
 * 
 * @param entity
 * @return EventExecute
 */
@Transactional
@Autowired
public EventExecute save(EventExecute entity) 
    String eventKey = entity.getEventKey();

    StepDefinitionRepository sdRepository;

    List<StepDefinition> stepDefinitions = sdRepository.findByEventKeyAllIgnoreCaseOrderBySequenceAsc(eventKey);

    return getEventExecuteRepository().save(entity);

我想查找与事件键匹配的 StepDefintions。

我尝试按照 JPA 文档中的示例进行操作...

public class SomeClient 

  @Autowired
  private PersonRepository repository;

  public void doSomething() 
    List<Person> persons = repository.findByLastname("Matthews");
  

但是我的 sdRepository 抱怨它没有初始化。我在 ..ServiceImpl.aj 中找到了 getStepDefintionRepository() 但无法调用它。

有例子吗?

【问题讨论】:

那不是“JPA 文档”,而是“Spring Data JPA 文档”。 Spring Data JPA API!= JPA API。标签固定 【参考方案1】:

好的,我发现了我的错误......这是有效的。

@Autowired
private StepDefinitionRepository sdRepository;

/**
 * Overridden save method to intercept and process the dynamic steps before saving
 * 
 * @param entity
 * @return EventExecute
 */
@Transactional
public EventExecute save(EventExecute entity) 

    boolean keepGoing = true;
    String eventKey = entity.getEventKey();
    Set<NameValuePair> messageVariables = null;
    String eventArguments = entity.getEventArguments();
    List<NameValuePair> eventVariables = null;

    if (!eventArguments.isEmpty())
        eventVariables = _ExtractEventVariables(eventArguments);
    

    List<StepDefinition> stepDefinitions = sdRepository.findByEventKeyAllIgnoreCaseOrderBySequenceAsc(eventKey);

    for (Iterator<StepDefinition> iterator = stepDefinitions.iterator(); iterator.hasNext();) 

【讨论】:

以上是关于在 Roo 2.0 中,我想使用 JPA 查询方法的主要内容,如果未能解决你的问题,请参考以下文章

使用 Springlets JPA 在 Spring Roo 中填充用户和角色

JPA 2.0 本机查询结果映射到 Bean

JPA 2.0、标准 API、子查询、表达式中

映射异常:在 JPA 2.0 中外部化命名本机查询时无法读取 XML

如何子查询 JPA 2.0 中多个键值组合的映射?

spring-roo 2.0 Spring Webflow 持久性最佳实践