Oui tu es le seul à vouloir le faire parce que c'est mal. ;)
Dans ce cas je conseil l'utilisation du design pattern ValueObject.
C'est à dire que dans ta transaction hibernate tu utilises tes objets persistés et en dehors des passe-plats.
Code:
uneRequete = this.session.createQuery("From Salarie");
uneRequete.setString(0, idSalarie);
Collection listeSalarie = uneRequete.list();
Collection<SalarieVo> listeSalarieVO = new ArrayList<SalarieVo>();
for(Salarie s : listeSalarie) {
SalarieVO sVO = s.getVO();
sVO.setObjectif(s.getObjectif().getVO);
listeSalarieVO.add(sVO);
}
Il y a une autre solution en utilisant le lazy loading (regarde la doc, il faut déclarer ton asso lazy) mais je continue à conseiller le design pattern.
N'oublie jamais que ton objet n'est pas traité de la meme facon dans la transaction et en dehors.