Bonjour,
Je voudrais créer un CMP bean dont seulement quelques colonnes (lors de l'insertion en table) soient obligatoires.
(structure de MonObjet:
id >> OBLIGATOIRE
name >> OBLIGATOIRE
prop1
prop2)
Dans mon createMonObjet() de MonObjetBean, je créée le bean avec seulement les champs obligatoires:
Or, j'ai une erreur à l'execution: "Column 'prop1' cannot be null"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public MonObjetDTO createMonObjet(MonObjetDTO monObjetDTO){ MonObjet monObjet=monObjetHome.create(monObjetDTO.getId(), monObjetDTO.getName()); (...) } // les autres champs doivent pouvoir rester optionnels ou etre renseignés par la suite.
Dans le descripteur, rien n'indique qu'un champ peut ou ne doit pas être null.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 11:50:18,296 ERROR [MonObjetBean] Could not create entity java.sql.SQLException: General error, message from server: "Column 'prop1' cannot be null" at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1697)Donc, comment spécifier (dans le descripteur, par exemple) qu'une colonne peut etre nulle ?
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 <ejb-jar> <entity> (...) <cmp-field> <field-name>id</field-name> </cmp-field> <cmp-field> <field-name>name</field-name> </cmp-field> <cmp-field> <field-name>prop1</field-name> </cmp-field> <cmp-field> <field-name>prop2</field-name> </cmp-field> <primkey-field>id</primkey-field> (...)
(je n'ai pas trouver l'attribut qui irrait bien dans la dtd)
:
Merci !
(ps: je bosse avec JBOSS 3.2.1)
Partager