Java Neo4J SDN 4无法保存
这是我的配置Java Neo4J SDN 4无法保存,java,spring,neo4j,spring-data-neo4j-4,Java,Spring,Neo4j,Spring Data Neo4j 4,这是我的配置 @EnableTransactionManagement @EnableScheduling @EnableAutoConfiguration @ComponentScan(basePackages = {"id.co.babe.neo4j.service"}) @Configuration public class MyNeo4jConfiguration extends Neo4jConfiguration { private static final Logger LO
@EnableTransactionManagement
@EnableScheduling
@EnableAutoConfiguration
@ComponentScan(basePackages = {"id.co.babe.neo4j.service"})
@Configuration
public class MyNeo4jConfiguration extends Neo4jConfiguration {
private static final Logger LOGGER = LoggerFactory.getLogger(MyNeo4jConfiguration.class);
@Value("${neo4j.server.user}")
private String user;
@Value("${neo4j.server.pass}")
private String pass;
@Value("${neo4j.server.host}")
private String host;
@Override
public Neo4jServer neo4jServer() {
return new RemoteServer(host,user,pass);
}
@Override
public SessionFactory getSessionFactory() {
return new SessionFactory("app.neo4j.domain");
}
@Bean
@Primary
public Neo4jOperations getNeo4jTemplate() throws Exception {
return new Neo4jTemplate(getSession());
}
这是我的域名用户
@NodeEntity
public class User{
@GraphId
private Long Id;
private String name;
private int age;
private String country;
和我的服务接口
public interface UserService {
public User create(User user);
public User read(User user);
public List<User> readAll();
public User update(User user);
public Boolean delete(User user);
}
这是我的主课
for(int i = 0; i < 10; i++){
app.neo4j.domain.User user = new app.neo4j.domain.User();
user.setAge(13);
user.setCountry("Philly");
user.setId(i);
user.setName("Ibanez" + i);
LOGGER.info("Inserting {}",user.getName());
service.create(user);
}
for(int i=0;i<10;i++){
app.neo4j.domain.User User=新建app.neo4j.domain.User();
用户设置(13);
用户:setCountry(“费城”);
user.setId(i);
user.setName(“Ibanez”+i);
info(“插入{}”,user.getName());
创建(用户);
}
没有发现错误,但当我转到neo4j
控制台(localhost:7474)并运行此查询时,匹配(n)返回n,它应该返回数据库中的所有节点。不幸的是,没有找到节点,即使我能够保存没有错误。我不知道怎么了
我还尝试了使用
@enablingNeo4jRepositories
执行此操作,结果没有任何差异。您的代码不应设置@GraphId
字段的值。此字段在内部用于将实体附着到图形
如果删除user.setId(i)代码>,应正确保存实体
请注意,您可以添加自己的自定义ID字段,但图形仍然需要另一个字段,例如
@GraphId private Long graphId; //used internally, never assign a value
private Long id; //your application id, stored as a property on the entity
您的代码不应设置@GraphId
字段的值。此字段在内部用于将实体附着到图形
如果删除user.setId(i)代码>,应正确保存实体
请注意,您可以添加自己的自定义ID字段,但图形仍然需要另一个字段,例如
@GraphId private Long graphId; //used internally, never assign a value
private Long id; //your application id, stored as a property on the entity