- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Spring数据neo4j版本:3.3.0.RELEASENeo4j版本:2.2.2
当我尝试查询 spring-data 存储库上公开的默认方法时,我遇到了以下异常,即
personRepository.findAll(getDefaultPageable());
public static Pageable getDefaultPageable() {
BiFunction<Integer, Integer, Pageable> biFunction = PageRequest::new; // Method reference syntax in action
return biFunction.apply(DEFAULT_PAGE_NUMBER, DEFAULT_PAGE_SIZE);
}
Caused by: java.lang.IllegalStateException: No primary SDN label exists .. (i.e one starting with _) at org.springframework.data.neo4j.support.typerepresentation.LabelBasedNodeTypeRepresentationStrategy.readAliasFrom(LabelBasedNodeTypeRepresentationStrategy.java:136) at org.springframework.data.neo4j.support.typerepresentation.LabelBasedNodeTypeRepresentationStrategy.readAliasFrom(LabelBasedNodeTypeRepresentationStrategy.java:40) at org.springframework.data.neo4j.support.mapping.TRSTypeAliasAccessor.readAliasFrom(TRSTypeAliasAccessor.java:36) at org.springframework.data.neo4j.support.mapping.TRSTypeAliasAccessor.readAliasFrom(TRSTypeAliasAccessor.java:26) at org.springframework.data.convert.DefaultTypeMapper.readType(DefaultTypeMapper.java:102) at org.springframework.data.convert.DefaultTypeMapper.getDefaultedTypeToBeUsed(DefaultTypeMapper.java:165) at org.springframework.data.convert.DefaultTypeMapper.readType(DefaultTypeMapper.java:142) at org.springframework.data.neo4j.support.mapping.Neo4jEntityConverterImpl.read(Neo4jEntityConverterImpl.java:77) at org.springframework.data.neo4j.support.mapping.Neo4jEntityPersister$CachedConverter.read(Neo4jEntityPersister.java:170) at org.springframework.data.neo4j.support.mapping.Neo4jEntityPersister.createEntityFromState(Neo4jEntityPersister.java:189) at org.springframework.data.neo4j.support.mapping.Neo4jEntityPersister.projectTo(Neo4jEntityPersister.java:216) at org.springframework.data.neo4j.support.Neo4jTemplate.projectTo(Neo4jTemplate.java:241) at org.springframework.data.neo4j.support.conversion.EntityResultConverter.doConvert(EntityResultConverter.java:73) at org.springframework.data.neo4j.conversion.DefaultConverter.convert(DefaultConverter.java:44) at org.springframework.data.neo4j.support.conversion.EntityResultConverter.convert(EntityResultConverter.java:165) at org.springframework.data.neo4j.conversion.QueryResultBuilder$1.underlyingObjectToObject(QueryResultBuilder.java:86) at org.neo4j.helpers.collection.IterableWrapper$MyIteratorWrapper.underlyingObjectToObject(IterableWrapper.java:57) at org.neo4j.helpers.collection.IteratorWrapper.next(IteratorWrapper.java:47) at org.springframework.data.neo4j.repository.AbstractGraphRepository.subList(AbstractGraphRepository.java:371) at org.springframework.data.neo4j.repository.AbstractGraphRepository.extractPage(AbstractGraphRepository.java:355) at org.springframework.data.neo4j.repository.AbstractGraphRepository.findAll(AbstractGraphRepository.java:321) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.executeMethodOn(RepositoryFactorySupport.java:414) at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:399) at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:371) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:61) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) at com.sun.proxy.$Proxy60.findAll(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:201) at com.sun.proxy.$Proxy61.findAll(Unknown Source)
我真的不想在这里做任何复杂的事情,所以我很难理解我是否真的应该引入带有下划线前缀标签的自定义查询并使用注释@Query? Spring 数据中的默认方法不是只适用于 SDN 吗?
<小时/>我调整了密码查询,但仍然出现相同的错误。
used by: java.lang.IllegalStateException: No primary SDN label exists .. (i.e one starting with _) at org.springframework.data.neo4j.support.typerepresentation.LabelBasedNodeTypeRepresentationStrategy.readAliasFrom(LabelBasedNodeTypeRepresentationStrategy.java:136) at org.springframework.data.neo4j.support.typerepresentation.LabelBasedNodeTypeRepresentationStrategy.readAliasFrom(LabelBasedNodeTypeRepresentationStrategy.java:40) at org.springframework.data.neo4j.support.mapping.TRSTypeAliasAccessor.readAliasFrom(TRSTypeAliasAccessor.java:36) at org.springframework.data.neo4j.support.mapping.TRSTypeAliasAccessor.readAliasFrom(TRSTypeAliasAccessor.java:26) at org.springframework.data.convert.DefaultTypeMapper.readType(DefaultTypeMapper.java:102) at org.springframework.data.convert.DefaultTypeMapper.getDefaultedTypeToBeUsed(DefaultTypeMapper.java:165) at org.springframework.data.convert.DefaultTypeMapper.readType(DefaultTypeMapper.java:142) at org.springframework.data.neo4j.support.mapping.Neo4jEntityConverterImpl.read(Neo4jEntityConverterImpl.java:77) at org.springframework.data.neo4j.support.mapping.Neo4jEntityPersister$CachedConverter.read(Neo4jEntityPersister.java:170) at org.springframework.data.neo4j.support.mapping.Neo4jEntityPersister.createEntityFromState(Neo4jEntityPersister.java:189) at org.springframework.data.neo4j.support.Neo4jTemplate.createEntityFromState(Neo4jTemplate.java:224)
你能看一下这些类(class),让我知道我哪里做错了,哪里做错了吗?
这是存储库类
public interface PersonRepository extends GraphRepository<Person>, CypherDslRepository<Person> {
String PERSONS_WITH_SEVERAL_ACME_IDENTITY = "MATCH (p:Person)-[r:HAS_LOGIN]->(a:AcmeIdp) " +
"SET p:_Person, a:_AcmeIdp "+
"WITH p, count(p) AS numoutgoing " +
"WHERE numoutgoing > 1 " +
"MATCH (p:Person)-[r:HAS_LOGIN]->(a:AcmeIdp) " +
"SET p:_Person, a:_AcmeIdp "+
"RETURN p";
Iterable<Person> findByFirstNameAndLastName(@NonNull final String firstName,@NonNull final String lastName);
Page<Person> findByFirstNameLike(@NonNull final String firstName,@NonNull final Pageable pageable);
@Query(PERSONS_WITH_SEVERAL_ACME_IDENTITY)
Page<Person> findOnesWithSeveralAcmeIdentities(@NonNull final Pageable pageable); }
人员实体类
import com.example.analytics.model.AbstractEntity;
import com.example.analytics.model.relationship.Login;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.neo4j.graphdb.Direction;
import org.springframework.data.neo4j.annotation.*;
import java.time.LocalDateTime;
import java.util.Set;
@NodeEntity(useShortNames = true)
public class Person extends AbstractEntity {
@GraphProperty(propertyName = "title", defaultValue = "")
private String title;
@GraphProperty(propertyName = "firstName", defaultValue = "")
private String firstName;
@GraphProperty(propertyName = "lastName", defaultValue = "")
private String lastName;
@GraphProperty(propertyName = "dateOfBirth", propertyType = String.class)
private LocalDateTime dateOfBirth;
@RelatedTo(type = "HAS_LOGIN", direction = Direction.OUTGOING, elementClass = AcmeIdentity.class)
private Set<Login> logins;
public String getTitle() {
return title;
}
public void setTitle(final String title) {
this.title = title;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(final String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(final String lastName) {
this.lastName = lastName;
}
public LocalDateTime getDateOfBirth() {
return dateOfBirth;
}
public void setDateOfBirth(final LocalDateTime dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
public Set<Login> getLogins() {
return logins;
}
public void setLogins(@NonNull final Set<Login> logins) {
this.logins = logins;
}
}
转换器
import org.checkerframework.checker.nullness.qual.NonNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@Component
public class LocalDateTimeToStringConverter implements Converter<LocalDateTime, String> {
private static final Logger LOG = LoggerFactory.getLogger(LocalDateTimeToStringConverter.class);
@Value("${neo4j.dateTime.format:yyyy-MM-dd HH:mm:ss}")
private String dateTimeFormat;
@Override
public String convert(@NonNull final LocalDateTime source) {
LOG.debug("Converting LocalDateTime into String using the format: {}", dateTimeFormat);
return String.valueOf(source.format(DateTimeFormatter.ofPattern(dateTimeFormat)));
}
}
反向转换器
import org.checkerframework.checker.nullness.qual.NonNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@Component
public class StringToLocalDateTimeConverter implements Converter<String, LocalDateTime> {
private static final Logger LOG = LoggerFactory.getLogger(StringToLocalDateTimeConverter.class);
@Value("${neo4j.dateTime.format:yyyy-MM-dd HH:mm:ss}")
private String dateTimeFormat;
/**
* Convert the source of type S to target type T.
*
* @param source the source object to convert, which must be an instance of S (never {@code null})
* @return the converted object, which must be an instance of T (potentially {@code null})
* @throws IllegalArgumentException if the source could not be converted to the desired target type
*/
@Override
public LocalDateTime convert(@NonNull final String source) {
LOG.debug("Converting String {} into LocalDateTime using the format: {}",source, dateTimeFormat);
return LocalDateTime.parse(source, DateTimeFormatter.ofPattern(dateTimeFormat));
}
}
主要配置类
import com.example.analytics.converter.LocalDateTimeToStringConverter;
import com.example.analytics.converter.StringToLocalDateTimeConverter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.*;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
import org.springframework.core.convert.ConversionService;
import org.springframework.core.convert.converter.ConverterRegistry;
import org.springframework.data.neo4j.config.Neo4jConfiguration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@Configuration
@EnableAutoConfiguration
@EnableTransactionManagement(mode = AdviceMode.PROXY)
@ComponentScan(basePackages = {"com.example.analytics"})
@PropertySource(value = "classpath:application.yml", ignoreResourceNotFound = false)
@Import({DatabaseConnectionConfiguration.class})
public class MainConfiguration extends Neo4jConfiguration {
@Autowired
private StringToLocalDateTimeConverter stringToLocalDateTimeConverter;
@Autowired
private LocalDateTimeToStringConverter localDateTimeToStringConverter;
private static final Logger LOG = LoggerFactory.getLogger(MainConfiguration.class);
public MainConfiguration() {
setBasePackage("com.example.analytics.model");
}
@Bean
public static PropertySourcesPlaceholderConfigurer propertyConfigIn() {
return new PropertySourcesPlaceholderConfigurer();
}
@Bean
@DependsOn({ "stringToLocalDateTimeConverter", "localDateTimeToStringConverter" })
protected ConversionService neo4jConversionService() throws Exception {
LOG.debug("Adding custom converters to conversion service ...");
ConversionService conversionService = super.neo4jConversionService();
ConverterRegistry registry = (ConverterRegistry) conversionService;
registry.addConverter(stringToLocalDateTimeConverter);
registry.addConverter(localDateTimeToStringConverter);
LOG.debug("Addition of Converter from LocalDateTime to String and vice-versa has been completed!");
return conversionService;
}
}
使用存储库的服务片段
public Page<Person> findPersonsWithSeveralAcmeIdentitites(final Pageable pageable) {
LOG.debug("Fetching persons with several ACME identities");
if(pageable != null)
return personRepository.findOnesWithSeveralAcmeIdentities(pageable);
else
return personRepository.findOnesWithSeveralAcmeIdentities(getDefaultPageable());
}
最佳答案
然后,您必须检查节点并在每个节点上调用:
neo4jTemplate.postEntityCreation(node, MyEntity.class);
或者这也应该有效:
MATCH (n:User) set n:_User;
等等
我认为你对 Java8 方法引用过度了!!!只需使用普通的旧new
即可。否则你的代码将来将无法维护。
public static Pageable getDefaultPageable() {
return new PageRequest(DEFAULT_PAGE_NUMBER, DEFAULT_PAGE_SIZE);
}
关于java - 不存在主 SDN 标签..(即以 _ 开头的标签),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30948025/
在 Spring Boot 2.3.4 之前,我一直在使用 @QueryResult 注释将一些自定义 Cypher 查询响应映射到 POJO。我现在正在测试 Spring Boot 2.4 firs
目前正在使用 Neo4j(可能是 2.2)外部服务器作为主数据库启动一个新的 Java 项目,我们决定使用 SDN。这将是一个为期一年的项目,其中包含多个中间版本。 我们想知道是否应该使用当前版本 (
我正在迁移我的应用程序以使用 SDN 4.1.0.RC1,但在尝试启动应用程序后遇到了一些问题。我已经进行了必要的配置更改,以便正确地将 HTTPDriver 用于我的远程服务器 (localhost
我正在尝试使用 POX Controller 来控制流的路径。我知道 Open vSwitch 会选择具有最高优先级的转发规则。但是如果我为具有相同优先级的现有流插入新的转发规则会发生什么。 Open
我想在 mininet 中制作测试平台来测试我自己的算法。我想设置链路数据流量速率,控制流量速率和链路处理速率。但我做不到。如果有人知道如何设置所有这些。请帮助我。 谢谢,阿婆 最佳答案 TL;DR
我想在 mininet 中制作测试平台来测试我自己的算法。我想设置链路数据流量速率,控制流量速率和链路处理速率。但我做不到。如果有人知道如何设置所有这些。请帮助我。 谢谢,阿婆 最佳答案 TL;DR
我正在研究 Open DayLight 的文档, 似乎无法理解 软件定义网络甚至是。我可以在 SDN 上找到的所有媒体炒作、博客和文章都充斥着对我作为工程师没有任何意义的流行语。所以我问:什么(确切地
我有以下 SDN 4 实体: 决策、特征和值: @NodeEntity public class Value { private final static String SET_FOR = "
我们正在使用 spring-data-neo4j 版本 2.2.2.Release 和 Neo4j 1.9 使用 GraphRepository 保存和更新节点(属性)可以正常工作 我们最简单的示例如
最近二狗子在网上冲浪的时候,不小心将 CDN 搜索成了 SDN,结果跳出来了一大堆相关的知识点。 好学的二狗子当然不会随随便便糊弄过去,于是认认真真学习了好久,终于了解了 SDN 是什么。
如何使用 Ryu 发送流条目来删除包?我从教程中学习了如何将包发送出流条目: 我定义 Action :actions = [ofp_parser.OFPActionOutput(ofp.OFPP_FL
我正在尝试让SDN 4与Gradle和Groovy一起使用,并检查了此处的其他帖子,第二天晚上我开始使用它,但我想在过去几天中发生了一些变化。 当我尝试运行测试时,由于ClassNotFoundExc
我有一个以下 Neo4j SDN 实体: @NodeEntity public class Comment { private final static String COMMENTED_ON
当运行 mininet 拓扑时,我们可以使用 ovs 或 ovsk 作为 mininet 的 mn 命令中的 --switch 参数,例如: mn --custom topo.py --topo t
在 OpenFlow 协议(protocol)中,我们有一个流表(或多个流表)。交换机中的每个流表都包含一组流表项。每个流条目包含报头字段、计数器和一组要应用的指令或操作。指令就像“将这个 Actio
我是 Neo4J 的新手,我正在尝试为基于时空的高可用性查询构建概念证明。 我有一个设置,其中包含 2 个独立的 Neo4J Enterprise 服务器和一个使用嵌入式 HA Neo4J 服务器运行
在软件定义的网络中,有些东西我仍然没有得到:在传统网络中,我们使用 CLI 或 NETCONF 或者 SNMP 来配置设备,在 SDN 中,我们使用 Openflow 来这样做,但是检索信息呢? 之前
在软件定义的网络中,有些东西我仍然没有得到:在传统网络中,我们使用 CLI 或 NETCONF 或者 SNMP 来配置设备,在 SDN 中,我们使用 Openflow 来这样做,但是检索信息呢? 之前
这是我的配置 @EnableTransactionManagement @EnableScheduling @EnableAutoConfiguration @ComponentScan(basePa
在我的 Neo4j/SDN 4 应用程序中,我的所有 Cypher 查询都基于内部 Neo4j ID。 这是一个问题,因为我不能在我的 Web 应用程序 URL 中依赖这些 ID。 Neo4j 可以重
我是一名优秀的程序员,十分优秀!