Thank you both very much for taking the time to reply. :-)
As you correctly said Andy, what I am looking for is to have a persistent
attribute with multiple cardinality in my entity.
I know I could simply define another entity and then use @OneToMany to define
an association. In this case, however, the attribute is very simple (just a
List of Strings or an array of longs), and it is only useful in the context of
the parent entity - in short there's no real need to define a separate entity.
That's why I thought to reduce the granularity of the entity interface by
making it a simple attribute with multiple cardinality.
I am a little surprised that the EJB3 specification doesn't support this
requirement, and I had hoped to avoid using vendor specific extensions to the
spec. It seems that's not feasable in this case, so I tried your solution and
I'm glad to say it seems to work. :-)
@CollectionOfElements
| public List<String> getStringList() {
| return _stringList;
| }
|
| public void setStringList(List<String> stringList) {
| _stringList = stringList;
| }
|
| @CollectionOfElements
| @IndexColumn(name="longArray_index")
| public long[] getLongArray() {
| return _longArray;
| }
|
| public void setLongArray(long[] longArray) {
| _longArray = longArray;
| }
Now when I start the server, it deploys the entity and creates a set of 3
tables in the (mysql) database: simpleentity, simpleentity_longarray and
simpleentity_stringlist. The strange thing is that I now get the following
series of warnings during startup:
| 13:22:57,651 WARN [JDBCExceptionReporter] SQL Warning: 1051, SQLState:
42S02
| 13:22:57,651 WARN [JDBCExceptionReporter] Unknown table 'simpleentity'
| 13:22:57,666 WARN [JDBCExceptionReporter] SQL Warning: 1051, SQLState:
42S02
| 13:22:57,666 WARN [JDBCExceptionReporter] Unknown table 'simpleentity'
| 13:22:57,713 WARN [JDBCExceptionReporter] SQL Warning: 1051, SQLState:
42S02
| 13:22:57,713 WARN [JDBCExceptionReporter] Unknown table
'simpleentity_longarray'
| 13:22:57,713 WARN [JDBCExceptionReporter] SQL Warning: 1051, SQLState:
42S02
| 13:22:57,713 WARN [JDBCExceptionReporter] Unknown table 'simpleentity'
| 13:22:57,713 WARN [JDBCExceptionReporter] SQL Warning: 1051, SQLState:
42S02
| 13:22:57,713 WARN [JDBCExceptionReporter] Unknown table
'simpleentity_longarray'
| 13:22:57,713 WARN [JDBCExceptionReporter] SQL Warning: 1051, SQLState:
42S02
| 13:22:57,713 WARN [JDBCExceptionReporter] Unknown table
'simpleentity_stringlist'
| 13:22:57,744 WARN [JDBCExceptionReporter] SQL Warning: 1051, SQLState:
42S02
| 13:22:57,744 WARN [JDBCExceptionReporter] Unknown table 'simpleentity'
| 13:22:57,744 WARN [JDBCExceptionReporter] SQL Warning: 1051, SQLState:
42S02
| 13:22:57,744 WARN [JDBCExceptionReporter] Unknown table
'simpleentity_longarray'
| 13:22:57,744 WARN [JDBCExceptionReporter] SQL Warning: 1051, SQLState:
42S02
| 13:22:57,744 WARN [JDBCExceptionReporter] Unknown table
'simpleentity_stringlist'
| 13:22:57,869 WARN [JDBCExceptionReporter] SQL Warning: 1051, SQLState:
42S02
| 13:22:57,869 WARN [JDBCExceptionReporter] Unknown table 'simpleentity'
| 13:22:57,869 WARN [JDBCExceptionReporter] SQL Warning: 1051, SQLState:
42S02
| 13:22:57,869 WARN [JDBCExceptionReporter] Unknown table
'simpleentity_longarray'
| 13:22:57,869 WARN [JDBCExceptionReporter] SQL Warning: 1051, SQLState:
42S02
| 13:22:57,869 WARN [JDBCExceptionReporter] Unknown table
'simpleentity_stringlist'
| 13:22:58,009 WARN [JDBCExceptionReporter] SQL Warning: 1051, SQLState:
42S02
| 13:22:58,009 WARN [JDBCExceptionReporter] Unknown table 'simpleentity'
| 13:22:58,009 WARN [JDBCExceptionReporter] SQL Warning: 1051, SQLState:
42S02
| 13:22:58,009 WARN [JDBCExceptionReporter] Unknown table
'simpleentity_longarray'
| 13:22:58,009 WARN [JDBCExceptionReporter] SQL Warning: 1051, SQLState:
42S02
| 13:22:58,009 WARN [JDBCExceptionReporter] Unknown table
'simpleentity_stringlist'
| 13:22:58,087 WARN [JDBCExceptionReporter] SQL Warning: 1051, SQLState:
42S02
| 13:22:58,087 WARN [JDBCExceptionReporter] Unknown table 'simpleentity'
| 13:22:58,087 WARN [JDBCExceptionReporter] SQL Warning: 1051, SQLState:
42S02
| 13:22:58,087 WARN [JDBCExceptionReporter] Unknown table
'simpleentity_longarray'
| 13:22:58,087 WARN [JDBCExceptionReporter] SQL Warning: 1051, SQLState:
42S02
| 13:22:58,087 WARN [JDBCExceptionReporter] Unknown table
'simpleentity_stringlist'
| 13:22:58,181 WARN [JDBCExceptionReporter] SQL Warning: 1051, SQLState:
42S02
| 13:22:58,181 WARN [JDBCExceptionReporter] Unknown table 'simpleentity'
| 13:22:58,181 WARN [JDBCExceptionReporter] SQL Warning: 1051, SQLState:
42S02
| 13:22:58,181 WARN [JDBCExceptionReporter] Unknown table
'simpleentity_longarray'
| 13:22:58,181 WARN [JDBCExceptionReporter] SQL Warning: 1051, SQLState:
42S02
| 13:22:58,181 WARN [JDBCExceptionReporter] Unknown table
'simpleentity_stringlist'
|
As I mentioned above, I checked the database and it definitely does have the 3
listed tables in it.
I'll dig deeper in to the hibernate documentation and let you know how I go.
Thanks again very much for your help,
Adam
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3977853#3977853
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3977853
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user