【发布时间】:2016-11-29 15:30:50
【问题描述】:
我有大约 5 个对象想要做类似的事情。 我发现为了不污染代码,我会将这些对象的逻辑放在一个地方。
public class MetaObjectController<T extends MetaObject> {
@Autowired
private final MetaObjectRepository<T> repository;
// generic logic
以下是存储库的外观:
public interface MetaObjectRepository<T extends MetaObject> extends GraphRepository<T> {
T findByName(String name);
}
现在,我创建使用委托的具体类:
public class ExperimentalController {
@Autowired
private final MetaObjectController<MetaCategory> metaController;
@RequestMapping(method = RequestMethod.POST)
public void add(@RequestBody MetaCategory toAdd) {
metaController.add(toAdd);
}
现在,当我查看生成的查询时,我看到虽然实例化正确,但存储库将 MetaObject 作为实体名称而不是运行时类型。
有没有办法强制存储库使用运行时类型?
请不要建议添加@Query 注释。这不是我想要的。
【问题讨论】:
标签: java spring neo4j spring-data