YAML - граф объектов один ко многим - PullRequest
0 голосов
/ 20 июля 2010

Я использую синтаксический анализатор на основе snakeyaml (java) для написания тестового примера и не могу понять, как правильно построить график.Любая помощь, высоко ценится.спасибо.

RuntimeException occured : Cannot load fixture test-data.yml: 
org.hibernate.PropertyAccessException: could not get a field value by 
reflection getter of models.Priority.description

вышеприведенное исключение относится к несвязанному полю, и оно работает, если я удаляю связь

roles: 
  - roleType: testRoleType 
    description: desc 

Если я изменяю его на

- !models.Role 
      roleType:         testRoleType 
      description: desc 

Произошло исключение RuntimeException: Невозможно загрузить прибор test-data.yml: null;Невозможно создать объект Java для! Models.Role;исключение = onRole Любая помощь, высоко ценится.Благодарю.

public class Person {
String fullname;

@OneToMany(cascade=CascadeType.ALL)
public List<Role> roles;
}

public class Role {
public RoleType roleType;
public String description;
}

public class RoleType {
public String roleName;
public String description;
}


YAML--

RoleType (testRoleType):
    roleName:      test
    description:   desc

Person(administrator):
    fullname:       Administrator
    roles:
      - roleType: testRoleType
        description: desc

1 Ответ

1 голос
/ 21 июля 2010

1) создайте свой график

2) Используйте SnakeYAML для сериализации объекта:

JavaBeanDumper dumper = new JavaBeanDumper();
String output = dumper.dump(graph);

3) посмотрите, что из этого получится, и измените его вручную.

PS! Models.Role - это локальный тег, и вы должны указать SnakeYAML, как им управлять.

...