IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Persistance des données Java Discussion :

Utilisation de JDO et génération automatique d'IDs avec GWT


Sujet :

Persistance des données Java

  1. #1
    Membre averti
    Femme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 32
    Par défaut Utilisation de JDO et génération automatique d'IDs avec GWT
    Bonjour,

    Sur conseils des forumers de GWT, je reposte ma question ici car apparemment, j'utiliserai mal les JDO. Pourriez-vous m'aider s'il vous plaît?
    Voici la question que j'avais postée:
    Bonjour,

    Voilà, je programme depuis peu en GWt 2.7.0 et j'ai encore quelques petits problèmes de débutant. Merci pour votre bienveillance.
    Mon problème est que j'essaie de créer un enregistrement dans une table et que je voudrais utiliser pour cela la génération automatique d'Id de GWT. Mais à chaque fois j'ai une erreur qui me dit que la valeur de mon champ ID n'est pas définie. J'ai bien essayé de le générer à la mano mais cela me pose d'autres problèmes étant donné que je travaille sur un nombre important de données disparates en format et que, cette fois, j'ai un problème de double ID.
    Mais revenons à nos moutons.
    Voici mon code: je n'arrive pas à voir ce qui cloche ou ce que j'ai oublié.
    Le jdo qui permet la relation avec la table de la base de données:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    @PersistenceCapable(identityType = IdentityType.APPLICATION, detachable = "true")
    public class Analysis {
    	/** The id. */
    	@PrimaryKey
    	@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    	private long id;
     
     
    	@Persistent
    	private Date creationDate;
    	public long getId() {
    		return id;
    	}
     
    	public Date getCreationDate() {
    		return creationDate;
    	}
     
    	public void setCreationDate(Date creationDate) {
    		this.creationDate = creationDate;
    	}
     
           public void create() {
    		PersistenceManager pm = PMF.getManager();
    		Transaction tx = pm.currentTransaction();
    		try {
    			tx.begin();
     
    			pm.makePersistent(this);
     
    			tx.commit();
    		} finally {
    			if (tx.isActive()) {
    				tx.rollback(); // Error occurred so rollback the PM transaction
    			}
    		}
    		pm.close();
    	}
    public void update() {
    		PersistenceManager pm = PMF.getManager();
    		try {
    			Analysis anal = pm.getObjectById(Analysis.class, id);
     
    			anal.creationDate = creationDate;
     
     
    		} finally {
    	        pm.close();
    	    }
    	}
    	public void delete() {
    		PersistenceManager pm = PMF.getManager();
    		Transaction tx = pm.currentTransaction();
    		try {
    			tx.begin();
     
    			pm.deletePersistent(pm.getObjectById(this.getClass(),
    					this.getId()));
    			//pm.flush();
     
    			tx.commit();
    		} finally {
    			if (tx.isActive()) {
    				tx.rollback(); // Error occurred so rollback the PM transaction
    			}
    		}
    		pm.close();
    	}
    	public void flush() {
    		PersistenceManager pm = PMF.getManager();
    		Transaction tx = pm.currentTransaction();
    		try {
    			tx.begin();
     
    			pm.flush();
     
    			tx.commit();
    		} finally {
    			if (tx.isActive()) {
    				tx.rollback(); // Error occurred so rollback the PM transaction
    			}
    		}
    		pm.close();
    	}public void fillFromDTO(AnalysisDTO analDTO) {
    		SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
    		SimpleDateFormat sdfPoint = new SimpleDateFormat("dd.MM.yyyy");
     
    		if(analDTO.getCreationDate()!=null) {
    			try {
     
    				this.creationDate = sdf.parse(analDTO.getCreationDate());
    			} catch (ParseException e) {
    				try {
    					this.creationDate = sdfPoint.parse(analDTO.getCreationDate());
    				} catch (ParseException e1) {
    					// TODO Auto-generated catch block
    					e1.printStackTrace();
    				}
    			}
    		}
    		else {this.creationDate=null;}
     
     
    	}
    Voici le bout de code que j'appelle pour la création de l'enregistrement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Analysis anal = new Analysis();
    				//anal.setId(idTmp);
    				try {
    				anal.fillFromDTO(analDTO);
    				anal.create();
    				anal.flush();
    Et voici mon erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    janv. 06, 2016 3:51:32 PM org.datanucleus.store.rdbms.request.InsertRequest execute
    WARNING: Insert of object "com.assystem.amsta.server.jdo.Analysis@3ffde" using statement "INSERT INTO `ANALYSIS` (`ACTIVITYTYPE`,`MSN`,`TASKNAME`,`SPECIFICASK`,`ITEMDESCRIPTION`,`BREAKDOWNCAT`,`AUTHOR`,`CREATIONDATE`,`CLOSINGDATE`,`EVREFERENCE`,`LOCAL`,`ACTIVITY`,`TESTDATE`,`SNAG`,`TASKTYPE`,`SNLIST`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)" failed : Field 'ID' doesn't have a default value
    2016-01-06 15:51:32.838:WARN:/:Exception while dispatching incoming RPC call
    com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract void com.assystem.amsta.client.common.service.AnalysisService.RetrieveAssytempsData(java.lang.String)' threw an unexpected exception: javax.jdo.JDODataStoreException: Insert of object "com.assystem.amsta.server.jdo.Analysis@3ffde" using statement "INSERT INTO `ANALYSIS` (`ACTIVITYTYPE`,`MSN`,`TASKNAME`,`SPECIFICASK`,`ITEMDESCRIPTION`,`BREAKDOWNCAT`,`AUTHOR`,`CREATIONDATE`,`CLOSINGDATE`,`EVREFERENCE`,`LOCAL`,`ACTIVITY`,`TESTDATE`,`SNAG`,`TASKTYPE`,`SNLIST`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)" failed : Field 'ID' doesn't have a default value|NestedThrowables:|java.sql.SQLException: Field 'ID' doesn't have a default value
    	at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:415)
    	at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:605)
    	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:333)
    	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:303)
    	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:373)
    	at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
    	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)
    	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
    	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
    	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
    	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
    	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
    	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
    	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
    	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
    	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
    	at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:68)
    	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
    	at org.eclipse.jetty.server.Server.handle(Server.java:370)
    	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
    	at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)
    	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021)
    	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
    	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
    	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
    	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
    	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
    	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
    	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
    	at java.lang.Thread.run(Unknown Source)
    Caused by: 
    javax.jdo.JDODataStoreException: Insert of object "com.assystem.amsta.server.jdo.Analysis@3ffde" using statement "INSERT INTO `ANALYSIS` (`ACTIVITYTYPE`,`MSN`,`TASKNAME`,`SPECIFICASK`,`ITEMDESCRIPTION`,`BREAKDOWNCAT`,`AUTHOR`,`CREATIONDATE`,`CLOSINGDATE`,`EVREFERENCE`,`LOCAL`,`ACTIVITY`,`TESTDATE`,`SNAG`,`TASKTYPE`,`SNLIST`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)" failed : Field 'ID' doesn't have a default value|NestedThrowables:|java.sql.SQLException: Field 'ID' doesn't have a default value
    	at org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:451)
    	at org.datanucleus.api.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:731)
    	at org.datanucleus.api.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:751)
    	at com.assystem.amsta.server.jdo.Analysis.create(Analysis.java:223)
    	at com.assystem.amsta.server.AnalysisServiceImpl.RetrieveAssytempsData(AnalysisServiceImpl.java:332)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:587)
    	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:333)
    	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:303)
    	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:373)
    	at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
    	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)
    	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
    	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
    	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
    	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
    	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
    	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
    	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
    	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
    	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
    	at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:68)
    	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
    	at org.eclipse.jetty.server.Server.handle(Server.java:370)
    	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
    	at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)
    	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021)
    	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
    	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
    	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
    	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
    	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
    	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
    	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
    	at java.lang.Thread.run(Unknown Source)
    Caused by: 
    java.sql.SQLException: Field 'ID' doesn't have a default value
    	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078)
    	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4187)
    	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4119)
    	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2570)
    	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2731)
    	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2815)
    	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
    	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2458)
    	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2375)
    	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2359)
    	at org.datanucleus.store.rdbms.datasource.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
    	at org.datanucleus.store.rdbms.datasource.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
    	at org.datanucleus.store.rdbms.datasource.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
    	at org.datanucleus.store.rdbms.ParamLoggingPreparedStatement.executeUpdate(ParamLoggingPreparedStatement.java:399)
    	at org.datanucleus.store.rdbms.SQLController.executeStatementUpdate(SQLController.java:439)
    	at org.datanucleus.store.rdbms.request.InsertRequest.execute(InsertRequest.java:409)
    	at org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertTable(RDBMSPersistenceHandler.java:167)
    	at org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertObject(RDBMSPersistenceHandler.java:143)
    	at org.datanucleus.state.JDOStateManager.internalMakePersistent(JDOStateManager.java:3780)
    	at org.datanucleus.state.JDOStateManager.makePersistent(JDOStateManager.java:3756)
    	at org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2098)
    	at org.datanucleus.ExecutionContextImpl.persistObjectWork(ExecutionContextImpl.java:1947)
    	at org.datanucleus.ExecutionContextImpl.persistObject(ExecutionContextImpl.java:1795)
    	at org.datanucleus.api.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:726)
    	at org.datanucleus.api.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:751)
    	at com.assystem.amsta.server.jdo.Analysis.create(Analysis.java:223)
    	at com.assystem.amsta.server.AnalysisServiceImpl.RetrieveAssytempsData(AnalysisServiceImpl.java:332)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:587)
    	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:333)
    	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:303)
    	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:373)
    	at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
    	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)
    	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
    	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
    	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
    	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
    	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
    	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
    	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
    	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
    	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
    	at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:68)
    	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
    	at org.eclipse.jetty.server.Server.handle(Server.java:370)
    	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
    	at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)
    	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021)
    	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
    	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
    	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
    	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
    	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
    	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
    	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
    	at java.lang.Thread.run(Unknown Source)
    Auriez-vous une idée d'où pourrait provenir le problème? Qu'est-ce que j'ai oublié de faire?
    Merci d'avance pour votre réponse

  2. #2
    Membre averti
    Femme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 32
    Par défaut Ca y est!
    Bonjour,

    Mon chef a trouvé d'où venait le problème. Apparemment, il est plus observateur que moi ou a su chercher où il fallait.
    En fait, le problème viens de ma base de données sous MySQL Workbench.
    Je construis cette base à l'aide de scripts SQL qui sont générés. Voici ma construction pour la table qui pose problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CREATE  TABLE IF NOT EXISTS `amsta`.`activities` (
      `ID` INT NOT NULL , ...etc
    et voici le code d'une base pour laquelle l'ID se génère automatiquement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CREATE  TABLE IF NOT EXISTS `amsta`.`sensorfamilysensorlink` (
      `ID` BIGINT(20) NOT NULL ,
    Voilà, en espérant que cela puisse aider quelqu'un qui rencontre le problème si celui-ci survient.

  3. #3
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 326
    Billets dans le blog
    12
    Par défaut
    Je ne pense pas que cela aidera beaucoup de gens; la seule différence entre les deux codes c'est la plage de valeur des entiers, alors est-ce que ton problème est lié à un problème de int / long dans le code Java et INT / BIGINT dans MySQL ? Ou est-ce que c'est lié au fait que tu utilises l'annotation @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) dans Java et pas d'AUTO_INCREMENT dans MySQL ? Je pencherais pour le deuxième cas d'après ta stacktrace.

    PS: MySQL Workbench n'est pas une "base de données" mais un utilitaire pour gérer sa base de données.
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Génération automatique d'ID de GWT.
    Par alineas1 dans le forum GWT et Vaadin
    Réponses: 2
    Dernier message: 01/02/2016, 15h57
  2. Réponses: 0
    Dernier message: 15/11/2014, 10h14
  3. Génération automatique de graph avec Quality Center
    Par poupinette.coucou dans le forum Test
    Réponses: 0
    Dernier message: 23/06/2012, 14h33
  4. Réponses: 1
    Dernier message: 15/04/2011, 02h16
  5. Génération automatique de PDF avec Win2PDF
    Par cdelefil dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 03/10/2007, 11h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo