There is no standard way to do what you want. The JCR API simply does not allow the storage of arbitrary Object values. The only valid property types in JCR 1.0 are:
STRINGBINARYLONGDOUBLEDATEBOOLEANNAMEPATHREFERENCE
All of these property types are valid in JCR 2.0, but there are several new ones:
, javax.jcr.ValueFactory , Value java.lang.Object.
:
- STRING , 'toString()';
- LONG enum ordinal() ' ;
- BINARY BINARY
IMO, 1 . 2 , - , JCR-SQL JCR-SQL2. 3 , .
1 2 node. , , , node node, node, . , , ( STRING PATH), ( LONG, DOUBLE DATE), ( BINARY), node ( REFERENCE WEAKREFERENCE), ( NAME). , , .
, 1 2 , , . 1 STRING , . CND JCR 2.0:
[ex: foo] mixin
- ex: bar (STRING) 'VALUE1', 'VALUE2', 'VALUE3'
2 ( ) LONG. :
[ex: foo] mixin
- ex: bar (STRING) [0,3)