“org.mise en veille prolongée.ObjectNotFoundException: Pas de ligne avec l'identifiant donné existe”, mais il n'existe

Je suis de l'utilisation d'hibernate pour mon service web.

Je suis en mesure de faire la liste de tous les enregistrements, mais ne parvenez pas à obtenir un seul.

Le tableau contient:

ID (VARCHAR)                      VALUE(BIT)
celiac                               1
rate                                 1
suggestions                          0

L'erreur affichée est:

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [com.pfc.restaurante.models.Device#id="xxxxxx"]
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:894)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

Et le code principal:

    @JsonAutoDetect
    @Entity
    @Table(name = "SETTINGS")
    public class Settings implements Serializable{
        @Id
        @Column(name="ID")
        private String id;

        @Column(name="VALUE", nullable=false)
        private boolean value;
    (...)
    }
    //////////////////7
   @Controller
   @RequestMapping("/settingsService")
   public class SettingsServiceController {

    @Autowired
    SettingsService settingsService;

        @RequestMapping(value = "/{id}", method = RequestMethod.GET)
    public @ResponseBody Settings find(@PathVariable("id") String id){
        return settingsService.find(id);
    }
          (...)
}

J'ai lu partout qu'il pourrait être parce que DB incompatibilité avec mon entité (certains nullable = true quand il ne devrait pas), mais je l'ai vérifié déjà et il n'y a pas une telle chose.

Quelqu'un pourrait-il me prêter un coup de main?

Merci d'avance!

  • C'est votre Settings de la classe et de l'exception renvoie à Device classe. Nous montrer le vrai journal (avec une vraie identité, et pas xxxxx) , Appareil de table et de classe de Périphérique.
  • Je suis désolé, mon erreur. Toutefois, des erreurs ont été les mêmes pour Appareil et les Paramètres, et xxxx a été un véritable test ID :). La Solution ci-dessus a été couronnée de succès grâce à Antonio.
InformationsquelleAutor inor | 2013-04-06