[Hibernate] get renvoie null alors que la ligne existe en BD
Salut à tous !
Bon ben le problème est quasiment expliqué totalement dans le titre !
Voici les détails quand même :p
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
// Class MyService
createMyEntity(MyData data)
{
// do some work
_myEntityDAO.createEntity(myEntity)
}
// Class EntityDAOImpl
createEntity(myEntity)
{
if (myEntity.getId() != null)
{
saveEntity(myEntity, myEntity.getId());
}
else
{
saveEntity(myEntity);
}
} |
Après l'exécution de ce code, je me retrouve avec la ligne correspondante en BD (mySQL). Jusque là, tout va bien.
par contre juste après je fais un
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
// Class myService
retrieveMyEntity(MyData data)
{
_myEntityDAO.getEntityByName(data.getName);
}
// Class EntityDAOImpl
getEntityByName(String name)
{
Object[] values = { name };
List entityList = getHibernateTemplate().find(
"select t_entity " +
"from Entity t_entity " +
"where t_entity.name = ? ",
values);
} |
Et le getEntityByName me renvoie null, alors que si j'exécute la même requête dans MySQL Querry Brother, la ligne est correctement trouvée !
Les détails :
Citation:
EntityDAOImpl hérite de org.springframework.orm.hibernate.support.HibernateDaoSupport
Dans mon fichier de contexte Spring :
<!-- General rule for read-only methods -->
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<!-- General rule for all other methods -->
<prop key="*">
PROPAGATION_REQUIRED
</prop>
<prop key="createEntity">
PROPAGATION_REQUIRED
</prop>
Voila, je sèche, si vous avez une piste, vous êtes les bienvenus :D