Как сохранить список в объекте с помощью Java? - PullRequest
0 голосов
/ 25 апреля 2018

Перед сохранением enter image description here

После сохранения enter image description here

@Entity
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
public class Notification {


  @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long notificationId;
    private Long businessId;
    private String actionBy;
    private String date;
    private String notification;
    public ArrayList<UserNotification> user;

  //constructor here

  //getters setters here
}

и UserNotification.java равен

public class UserNotification {
private Long id;
private String user;
private String notifCount;
//getters setters here
}

Я не знаю, почему он возвращает ноль.В какой момент я допустил ошибку?

РЕДАКТИРОВАТЬ:

 var usersObj=[];
        BusinessRoleService.getByBusinessId($sessionStorage.businessRole.business).then(function(response){
            if(response.status==200){
                for(var x=0;x<response.data.length;x++){
                    usersObj.push({id: x, user: response.data[x].userId, notifCount: $scope.notification});
                }


            }
        });

        var obj = {
            "businessId": businessId,
            "actionBy": user,
            "date": date,
            "notification": user+" "+action,
            "user": usersObj
        }

, тогда я передам объект для обслуживания, чтобы сохранить

Так выглядит моя база данных послеэкономия

enter image description here

1 Ответ

0 голосов
/ 25 апреля 2018

В вашем Notification Java-объекте свойство user имеет аннотацию @Transient.Что означает, что это не будет сохраняться.

Итак, свойство равно нулю в ответе вашего контроллера.

Как уже говорили другие, у вас также есть разница в вашей структуре JavaScript и Java.В вашем Java-объекте Notification ваш список должен называться users

После вашего последнего редактирования:

Почему UserNotification не является @Entity?Также вам нужно сообщить JPA, какие отношения связывают Notification с UserNotification.Я предполагаю, что в обоих классах отсутствует куча аннотаций.Читать это: https://en.wikibooks.org/wiki/Java_Persistence/OneToMany

...