07. oktober 2002 - 11:34
Der er
2 kommentarer
container managed autoincrement
Hejsa
Jeg er ved at få min bønne til at auto incremente i databasen..
Den måde jeg har gjort det på er ved ikke at føre nogle parametre med create().
Den autoincremter så også, men returnerer ikke en instans af bønnen, hvilket vil sige at jeg ikke kan sette de andre atributter!
Hvordan gør man dette???
Jeg anvender en MySQL database, hvor jeg normalt bare fører null med som parameter og opnår derved auto increment!
På forhånd tak
Henrik
07. november 2002 - 16:39
#2
Jeps det er først med JDBC 3.0 at man kan bede om at få retuneret en
evt. autoinc. værdi, men der går nok et godt stykke tid før vi ser JDBC driverere som er oppe på v3.0.
Hvis du lader databasen sørge for logikken med "autoinc", så bliver du nød til at lave et opslag ned i DB'en for at få aflæst hvad nummeret blev. Så du kan retunere en primary key i din ejbCreate metode, så containeren ved hvilken værdi den fik. Husk at tænke på hvis en anden entity lige er blevet oprettet i mellemtiden (noget med at isolere databasen, elller lave en SQL select på alle de parametre du lige satte ind med INSERT INTO ...)
Jeg syntes også det er noget rod at det ikke er blevet en krav til EJB2.0 at generering af nøgler skulle være en sag for containeren. Men det må vi altså stadig slås med.
Der findes flere J2EE patterns ude på nettet til det med nøgler, men de går på at nøglen bliver generet i java koden, og altså ikke fra databasen.