Quel est l'interet de rajouter dans mon model UF un champs
correspondant au model Service ?
Puisque du fait, si je suis ton raisonnement, lorsque je créer mon UF,
je dois aussi renseigné un Service mais il est créer seulement après
puisque j'ai besoin d'une UF pour le créer qui lui a besoin d'un
service, ... je crois que sa tourne en boucle non ?
Mais comme gères tu la création dans le controler de l'UF et du
Service ?
Jusqu'a présent, je faisais :
*** Pour l'UF :
public static void addUF(String codeUF) {
UF uf = new UF();
uf.codeUF = codeUF;
uf._save();
*** Pour le Service :
public static void addService(String nomService, Long
uf) {
UF u = UF.findById(uf);
List<Service> xx = Service.find("nomService
= ?",nomService).fetch();
/**
* Si le service existe deja, on ajoute l'uf a sa liste d'UFs
*/
if (xx.size() != 0) {
for (Service s : xx) {
if (s.nomService.equalsIgnoreCase(nomService)) {
s.ufs.add(u);
s.save();
showAll();
}
}
}
/**
* Si le service n'existe pas, on le créer et on ajoute l'uf a sa
liste
*/
Service serv = new Service();
serv.nomService = nomService;
List<UF> listUF = new ArrayList<UF>();
listUF.add(u);
serv.ufs = listUF;
serv._save();
Je ne m'y connais pas trop sur play! je développe depuis 2 mois
seulement.
En tout cas, merci pour votre réponse rapide !
On 14 juin, 10:15, Mathias Clerc <
tlarhi...@gmail.com> wrote:
> Je crois qu'il faille que tu utilises:
> @OneToMany(mappedBy = "service", cascade= CascadeType.ALL)
>
> Et dans ta classe UF ajouter un champ:
> @ManyToOne
> @JoinColumn(name = "service_fk")
> public Service service;
>
> 2012/6/14 grimmpat <
tom.massol.59...@gmail.com>:
> > org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:
> > 1214)
> > at
> > org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:
> > 1147)
> > at
> > org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:
> > 1153)
> > at
> > org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:
> > org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:
> > 140)
> > at
> > org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:
> > 128)
> > at
> > org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:
> > 66)
> > at
> > org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:
> > 64)
> > at
> > org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:
> > 2345)
> > at
> > org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:
> > 2852)
> > at
> > org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:
> > 71)
> > at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:273)
> > at
> > org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:
> > 320)
> > at
> > org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:
> > 203)
> > at
> > org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:
> > 129)
> > at
> > org.hibernate.ejb.event.EJB3PersistEventListener.saveWithGeneratedId(EJB3PersistEventListener.java:
> > 69)
> > at
> > org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:
> > 179)
> > at
> > org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:
> > 135)
> > at
> > org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:
> > 61)
> > at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:808)
> > at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:782)
> > at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:786)
> > at
> > org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:
> > 672)
> > ... 22 more
> > Caused by: org.h2.jdbc.JdbcSQLException: Data conversion error
> > converting "'geriatrie' (ID BIGINT DEFAULT (NEXT VALUE FOR
> > PUBLIC.SYSTEM_SEQUENCE_41339D74_D54B_45DF_826E_B11EE8A6148E) NOT NULL
> > NULL_TO_DEFAULT SEQUENCE
> > PUBLIC.SYSTEM_SEQUENCE_41339D74_D54B_45DF_826E_B11EE8A6148E)"; SQL
> > statement:
> > insert into Service (id, nomService) values (null, ?) [90021-149]
> > at org.h2.message.DbException.getJdbcSQLException(DbException.java:
> > 327)
> > at org.h2.message.DbException.get(DbException.java:167)
> > at org.h2.message.DbException.get(DbException.java:144)
> > at org.h2.table.Column.convert(Column.java:149)
> > at
> > org.h2.constraint.ConstraintReferential.checkRowOwnTable(ConstraintReferential.java:
> > 326)
> > at
> > org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:
> > 271)
> > at org.h2.table.Table.fireConstraints(Table.java:812)
> > at org.h2.table.Table.fireAfterRow(Table.java:829)
> > at org.h2.command.dml.Insert.insertRows(Insert.java:128)
> > at org.h2.command.dml.Insert.update(Insert.java:86)
> > at org.h2.command.CommandContainer.update(CommandContainer.java:69)
> > at org.h2.command.Command.executeUpdate(Command.java:209)
> > at
> > org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:
> > 143)
> > at
> > org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:
> > 129)
> > at
> > com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:
> > 105)
> > at org.hibernate.id.IdentityGenerator
> > $GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:94)
> > at
> > org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:
> > For more options, visit this group athttp://
groups.google.com/group/play-framework?hl=en.- Masquer le texte des messages précédents -
>
> - Afficher le texte des messages précédents -