Observable
не рекомендуется. Вместо этого используйте Observable.pipe
. rxjs/operators
. HttpClient
(из @angular/common/http
) по умолчанию отображает ответы как JSON. Нет необходимости в операторе map
(это первое поведение для Http
(из @angular/http
)). Ниже приведен исправленный пример:
import { /* imports go here */ } from '@angular/common/http';
// ...
// ...
export class AuthService {
// ...
registerUser(user){
let headers = new HttpHeaders();
headers.append('content-type','application/json');
return this.http.post('http://localhost:8080/users/register',user,{headers:headers})
.catch(this.errorHandler);
}
}
Без кода и связок для ваших транзакций исследовать проблему будет практически невозможно.
Однако, чтобы лучше понять, что вызывает проблему, попробуйте сделать следующее:
Надеюсь, это поможет.
Эта проблема главным образом происходит, когда мы пытаемся сохранить или обновить объект, которые уже выбираются в память рабочей сессией. Если Вы выбрали объект от сессии, и Вы пытаетесь обновить в базе данных, то это исключение может быть выдано.
я использовал session.evict (); для удаления кэша, сохраненного в, в спящем режиме сначала или если Вы не хотите брать на себя риск выпуска данных, лучше Вы делаете другой объект для хранения временного файла данных.
try
{
if(!session.isOpen())
{
session=EmployeyDao.getSessionFactory().openSession();
}
tx=session.beginTransaction();
session.evict(e);
session.saveOrUpdate(e);
tx.commit();;
EmployeyDao.shutDown(session);
}
catch(HibernateException exc)
{
exc.printStackTrace();
tx.rollback();
}