Neo4J SDN 4无法保存

时间:2016-04-12 09:25:37

标签: 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 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);
}

和我的实施

@Service
@Transactional
public class UserServiceImpl implements UserService{

  @Autowired
  Neo4jOperations template;

  @Override
  public User create(User user){
    return template.save(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);
}

没有找到错误,但是当我转到neo4j控制台(localhost:7474)并运行此查询时,匹配(n)返回n,这将返回数据库中的所有节点。不幸的是,即使我能够保存没有错误,也没有找到节点。我想知道出了什么问题。

我也尝试使用@enablingNeo4jRepositories,但结果没有区别。

1 个答案:

答案 0 :(得分:4)

您的代码永远不应设置df4 = pd.DataFrame(index=df1.index, columns=df1.columns) df4 = df4.combine_first(df2).combine_first(df1) print df4 a b c 1 1.0 0.0 1.0 2 1.0 0.0 1.0 3 0.0 0.0 0.0 字段的值。此字段在内部用于将实体附加到图表中。

如果您删除@GraphId,则应正确保存您的实体。

请注意,您可以添加自己的自定义ID字段,但仍需要GraphID的其他字段,例如。

user.setId(i);