방금 OrmLite를 사용하기 시작 했으므로 나는 그걸 가지고 놀고 있습니다. 나는 몇 가지 개념을 이해하는 데 어려움을 겪고있다. 다 대다 관계를 다룹니다. 보장 사람 여기ormlite를 사용하여 다 대 다 관계에서 전체 데이터 세트를 검색하는 방법은 무엇입니까?
Pc
Name
Domain
Ethernet
IP
Gateway
Subnet
MAC
그리고 대다-관계 단지 온라인 예제와 같이 :
이들은 내 주요 테이블입니다 내가 통해 데이터베이스를 채우는PcEth
:
PC somePc = new PC("randomPc", "someDomain");
pcDao.create(somePc);
Ethernet eth1 = new Ethernet("127.255.0.1", "255.0.0.0", "192.168.1.1", "macadress");
Ethernet eth2 = new Ethernet("192.168.1.1", "255.0.0.0", "192.168.1.1", "macadress");
ethernetDao.create(eth1);
ethernetDao.create(eth2);
pcEthernetDao.create(new PcEthernet(somePc, eth1));
그러나 저는 어떻게하면 Pc에 속한 모든 데이터를 얻을 수 있는지 잘 모르겠습니다. 나는 다른 테이블의 데이터를 자동으로 검색하기 위해
PC pc = pcDao.queryForId(1);
을 기대하고있었습니다. ORM이해야 할 일이 아닌가? 개체가 있으므로 기본 데이터베이스를 신경 쓸 필요가 없습니다. 그러나 실제로 PC 정의 속성 만있는 Pc.object 만 있습니다. (한편으로는 이 아니며,은 놀랍습니다. 나는 pcDao 만 다루고 있습니다.)
그래도 어떻게 모든 것을 포함하는 "메타 객체"를 얻을 수 있는지 쿼리를 작성해야합니다. PC에 속한 데이터? PC의 데이터를 포함하는 객체 및 Pcs에 속한 ethernetDevices 목록 (자체 Dns 주소 목록 포함) 및 소프트웨어 및 운영 체제 목록
는 지금 수동으로 종속성을 해결하기 위해 건가요? Pc를 쿼리하고, PcEthernet-table에 일치하는 ID를 얻고, EthernetDevice를 검색하는 등의 요청을합니까?
아니면 내가 아주 아직 파악하고 있지 않다 트릭이있다?
그래서 내 자신을 getAllMfrom (N) 및 getAllNfrom (M) 메서드를 n - to - m 관계를 처리해야 할 것 같습니다. 그것이 조금 더 일반적인 수있을 지 궁금해. – k0pernikus