Kullanıcının Roller listesinin yer alacağı ve Rollerin bir İzinler listesine sahip olduğu bir modelim var. Ancak, hepsini bir kerede sakladığımda bile - derinlik -1 ile alt düğümlerden alt düğümleri alamıyorum. ex: user.getRoles() - 2 [role1, role2] role1.getAssociatedFeature() - 0 Örneği'nden Rol alırsam: findByRoleName ('role1') -> [Rol: role1, Display Rol, associatedFeatures [2]]Yay verileri kullanılarak neo4j'de yuvalanmış nesneler nasıl kaydedilir ve alınır
User.java
@NodeEntity
public class User {
@GraphId Long id;
private String name;
private String loginUserName;
@Relationship(type="ROLE")
private Set<Role> associatedRoles = new HashSet<Role>();
} Role.java
I CRUD işlemleri kullanımı Yay veri JPA kullanıyorum@NodeEntity
public class Role {
@GraphId Long id;
private String roleName;
private String displayRoleName;
@Relationship(type="ACCESS_TO")
private Set<Feature> associatedFeatures = new HashSet<Feature>();
}
Feature.java
@NodeEntity
public class Feature {
@GraphId Long id;
private String featureName;
@Relationship(type="HAS_PERMISSION")
private Set<Permission> permissions = new HashSet<Permission>();
}
@NodeEntity
public @Data class Permission {
@GraphId
Long id;
String permission;
}
: <> Repository.java - Bu, silme, kaydetme güncelleştirme uygulamak bydefault Yeni Kullanıcı varlık yaratarak ve izni verileri tüm yol doldurma ediyorum benim Junit- yılında
@RepositoryRestResource()
public interface RoleRepository extends GraphRepository<Role>{...}
ServiceImpl.java
@Override
public User create(User u) {
return userRepo.save(u,-1);
}
bulacaksınız. Ancak kullanıcıyı getirdiğimde -> sadece rolleri alırım, ancak özellikleri zincir boyunca izin vermez.
Neo4j DB tarayıcısında, tüm düğümlerin uygun bağımlılıkla oluşturulduğunu görüyorum. Grafikte nasıl kaydedileceğini ve nasıl hareket edeceğini gösteren işaretçiler var mı?
Teşekkür Vince !! İşe yaradı. "-1" derinliğiyle tasarruf ediyordum - herşeyi kurtardım - ancak alma sırasında özel Bul (findByName) kullanıyordum ve GraphRepository'de tanımlanan değil ve varsayılan yük derinliğini kullanmak için kullanıyordum. Bir cevabı belirtmek için yeterli puanın yok, bu yüzden sözlü şu an için teşekkürler :) –
Sorun değil. Sadece FYI, kaydetme derinliğinde -1 belirtmeye gerek yoktur - bu, kaydetmek için varsayılan derinliktir: ısrar ettiğiniz en üst düzey nesneden erişilebilen her şey. – Vince