Well, first check that the value is not null (in two spots):
1. In ejbCreate, simply do a System.out.println( n );
2. In your client, after create check: System.out.println( myBean.getName() );
If both show it's not null, then I'd check the log for the database (if using JBoss' default, it'd be in hypersonic, so check:
$JBoss_Home/server/data/hypersonic/somelogfile.log"
And see what SQL commands it's executing. It's possible that instead of using:
INSERT INTO MyBean VALUES (1, "My Name", "
[email protected]")
it could be using:
INSERT INTO MyBean VALUES (1, null, null)
UPDATE MyBean SET Name = "My Name", Email = "
[email protected]" WHERE ID = 1
That would be dumb, but you never know.