|
|
|
OJB(связь между двумя таблицами 1:1)
|
|||
|---|---|---|---|
|
#18+
Нужно установить связь между таблицами 1:1 . Эту связь я задал в файле repository_user.xml <!-- Student--> <class-descriptor class="ua.ojb.Student" table="student"> <field-descriptor name="student_id" column="student_id" jdbc-type="INTEGER" primarykey="true" /> <field-descriptor name="student_surname" column="student_surname" jdbc-type="VARCHAR" /> <reference-descriptor name="grant" class-ref="ua.ojb.Grant" auto-retrieve="true" > <foreignkey field-ref="studentid"/> </reference-descriptor> </class-descriptor> <!-- Grant--> <class-descriptor class="ua.ojb.Grant" table="grant"> <field-descriptor name="grant_id" column="grant_id" jdbc-type="INTEGER" primarykey="true" /> <field-descriptor name="studentid" column="studentid" jdbc-type="INTEGER" /> <field-descriptor name="grant_set" column="grant_set" jdbc-type="INTEGER" /> </class-descriptor> База на MySql. Фрагмент bean класов public class Student { private Integer student_id; private String student_surname; private Grant grant; ..................................... public class Grant { private Integer grant_id; private Integer studentid; private Integer grant_set; ..................................... При запуске выдается ошибка : java.util.NoSuchElementException: Could not obtain next object: Incorrect field reference "studentid" in org.apache.ojb.broker.metadata.ObjectReferenceDescriptor@19ba640[cascade delete=false,cascade retrieve=true,cascade store=false,is lazy=false,class of Items=class ua.ojb.Grant] at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown Source) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source) ..................................... Эта ошибка выдается в функцие public ArrayList getStudents(){ PersistenceBroker broker = null; ArrayList note = new ArrayList(); Collection res = null; broker = PersistenceBrokerFactory.defaultPersistenceBroker(); Criteria crit = new Criteria(); QueryByCriteria query = new QueryByCriteria(Student.class,crit); res = broker.getCollectionByQuery(query); Iterator iter = res.iterator(); while(iter.hasNext()){ Student student = new Student(); student = (Student)iter.next(); note.add(student); } return note; } Делал по примерам с ссайта http://db.apache.org/ojb/ ), может у когото есть какой-то пример по этой темме или хто знает какие-то класные ссылки. Зарание благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 16:43 |
|
||
|
OJB(связь между двумя таблицами 1:1)
|
|||
|---|---|---|---|
|
#18+
max public class Student { private Integer student_id; private String student_surname; private Grant grant; ..................................... public class Grant { private Integer grant_id; private Integer studentid; private Integer grant_set; ..................................... А почему в одном месте student_id, а в другом studentid? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 16:52 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=821&tid=2153049]: |
0ms |
get settings: |
13ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 317ms |

| 0 / 0 |
