when i am trying to get values by id ..i got error like this in postman
{
"отметка времени": 1547708533031,
«статус»: 500,
"error": "Внутренняя ошибка сервера",
«исключение»: «org.springframework.http.converter.HttpMessageNotWritableException»,
"message": "Не удалось записать JSON: не найден сериализатор для класса org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer и не обнаружены свойства для создания BeanSerializer (чтобы избежать исключения, отключите SerializationFeature.FAIL_ON_EMPTY_BEANS); вложенное исключение com.fasterxml .jackson.databind.JsonMappingException: не найден сериализатор для класса org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer и не обнаружены свойства для создания BeanSerializer (чтобы избежать исключения, отключите SerializationFeature.FAIL_ON_EMPTY_BEANS) (через цепочку ссылок: com.Entites .ArtistRegister [\ "subcetgory \"] -> com.Cetegory.Entites.SubCetegory _ $$ _ jvst706_1 [\ "обработчик \"]) ",
"путь": "/ getartist / 2"
}
this is contoller for get data by id
@RestController
public class RegisterController {
@Autowired
ArtistService artser;
@PostMapping(value = "/addArtist",produces = "application/json")
@ResponseBody public ArtistRegister addArtist(@RequestBody ArtistRegister artist) {
ArtistRegister artRegister = null;
try {
artRegister = artser.addArtist(artist);
} catch (Exception e) {
e.printStackTrace();
}
return artRegister;
}
@RequestMapping(value = "/getartist/{artist_id}",method=RequestMethod.GET,produces = "application/json")
@ResponseBody public ArtistRegister getArtistDetails(@PathVariable ("artist_id") int artist_id ,HttpServletRequest request,
HttpServletResponse response) throws Exception{
return artser.getArtistDetails(artist_id);
}
@RequestMapping(value = "/delete/{artist_id}",method=RequestMethod.DELETE,produces = "application/json")
public void deleteById(@PathVariable (value = "artist_id") int artist_id,HttpServletRequest request,
HttpServletResponse response) throws Exception{
artser.deleteById(artist_id);
}
@RequestMapping(value = "/updateartist", method = RequestMethod.PUT, produces = "application/json")
public ArtistRegister updateArtist(@RequestBody ArtistRegister artreg, HttpServletRequest request, HttpServletResponse response)
throws Exception
{
return artser.updateArtist(artreg);
}
this is service
@Service
@Transactional
public class ArtistService {
@Autowired
private ArtistRepository artrep;
@Autowired
private RegisterDAO artdao;
public ArtistRegister addArtist(ArtistRegister artreg) {
ArtistRegister artReg = null;
try {
artReg = artrep.save(artreg);
} catch (Exception e) {
e.printStackTrace();
}
return artReg;
}
public ArtistRegister getArtistDetails(int artist_id) {
return artdao.getArtistDetails(artist_id);
}
public void deleteById(int artist_id) {
artdao.deleteById(artist_id);
}
public ArtistRegister updateArtist(ArtistRegister artreg) {
return artdao.updateArtist(artreg);
}
}
this is DAO
@Repository
@Transactional
public class RegisterDAO {
private static final Logger logger = LoggerFactory.getLogger(SubCetegoryDAO.class);
@Autowired
SessionFactory sessionFactory;
@Autowired
EntityManager entitymanager;
public ArtistRegister getArtistDetails(int artist_id) {
try
{
String hql = "FROM ArtistRegister a where a.artist_id=?";
return (ArtistRegister) entitymanager.createQuery(hql).setParameter(1, artist_id).getSingleResult();
}
catch (EmptyResultDataAccessException e)
{
return null;
}
catch (Exception e)
{
logger.error("Exception in getUser"+ e.getMessage());
return null;
}
}




Удалите аннотацию @JsonManagedReference и измените тип выборки на LAZY следующим образом:
@OneToOne(targetEntity = SubCetegory.class, cascade = CascadeType.MERGE,fetch=FetchType.LAZY)
@JoinColumn(name = "sub_cetegory_id")
Что такое типы выборки Lazy и Eager?
The EAGER strategy is a requirement on the persistence provider runtime that data must be eagerly fetched. The LAZY strategy is a hint to the persistence provider runtime that data should be fetched lazily when it is first accessed.
ИСПОЛЬЗОВАННАЯ ЛИТЕРАТУРА
Тип получения официальной документации
Это сработало? Если этот ответ вам поможет, отметьте его как ответ. Спасибо. @divyau