<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
	<id>https://vik.wiki/index.php?action=history&amp;feed=atom&amp;title=3._Perzisztencia</id>
	<title>3. Perzisztencia - Laptörténet</title>
	<link rel="self" type="application/atom+xml" href="https://vik.wiki/index.php?action=history&amp;feed=atom&amp;title=3._Perzisztencia"/>
	<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=3._Perzisztencia&amp;action=history"/>
	<updated>2026-05-16T16:05:24Z</updated>
	<subtitle>Az oldal laptörténete a wikiben</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://vik.wiki/index.php?title=3._Perzisztencia&amp;diff=150228&amp;oldid=prev</id>
		<title>Ferrero, 2013. január 7., 23:15-n</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=3._Perzisztencia&amp;diff=150228&amp;oldid=prev"/>
		<updated>2013-01-07T23:15:56Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;hu&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Régebbi változat&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;A lap 2013. január 8., 01:15-kori változata&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;1. sor:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;1. sor:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{GlobalTemplate|Infoszak|OotPerzisztencia}}&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;__TOC__&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;__TOC__&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==3.1. Szerializálás==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==3.1. Szerializálás==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ferrero</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=3._Perzisztencia&amp;diff=139597&amp;oldid=prev</id>
		<title>Unknown user: Új oldal, tartalma: „{{GlobalTemplate|Infoszak|OotPerzisztencia}}  __TOC__ ==3.1. Szerializálás== ===Serializable interfész=== * csak az szerializálódik, ami meg van vele jelölve * fo…”</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=3._Perzisztencia&amp;diff=139597&amp;oldid=prev"/>
		<updated>2012-10-21T20:43:58Z</updated>

		<summary type="html">&lt;p&gt;Új oldal, tartalma: „{{GlobalTemplate|Infoszak|OotPerzisztencia}}  __TOC__ ==3.1. Szerializálás== ===Serializable interfész=== * csak az szerializálódik, ami meg van vele jelölve * fo…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Új lap&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{GlobalTemplate|Infoszak|OotPerzisztencia}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
==3.1. Szerializálás==&lt;br /&gt;
===Serializable interfész===&lt;br /&gt;
* csak az szerializálódik, ami meg van vele jelölve&lt;br /&gt;
* formális&lt;br /&gt;
* tömbök szerializálódnak&lt;br /&gt;
* Object, Thread, Socket, nem szerializálódnak&lt;br /&gt;
* transient és static cuccok nem szerializálódnak&lt;br /&gt;
* a private static final %ObjectStreamField[] serialPersistentFields tömbben megjelölt cuccok szerializálódnak&lt;br /&gt;
* Leszármazottak szerializálás-lánca megszakítható a read/writeObject-ben NotSerializableException dobásával&lt;br /&gt;
===Kimentés===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class SerializableClass implements java.io.Serializable&lt;br /&gt;
&lt;br /&gt;
try {&lt;br /&gt;
	 FileOutputStream f = new FileOutputStream(&amp;quot;filename&amp;quot;);&lt;br /&gt;
	 ObjectOutputStream out = new ObjectOutputStream(f);&lt;br /&gt;
	 out.writeObject(_SerializableClass);&lt;br /&gt;
	 out.close();&lt;br /&gt;
}&lt;br /&gt;
catch(IOException ex) {&lt;br /&gt;
	 ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
===Visszaállítás===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
try {&lt;br /&gt;
	 FileInputStream f = new FileInputStream(&amp;quot;filename&amp;quot;);&lt;br /&gt;
	 ObjectInputStream in = new ObjectInputStream(f);&lt;br /&gt;
	 o_ins = (SerializableClass)in.readObject();&lt;br /&gt;
	 in.close();&lt;br /&gt;
}&lt;br /&gt;
catch(IOException ex) { ... }&lt;br /&gt;
catch(ClassNotFoundException ex) { ... }&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
===ObjectOutput interfész===&lt;br /&gt;
* mindenre throws [[IOException]]&lt;br /&gt;
* writeObject(Object obj)&lt;br /&gt;
* write(int b)&lt;br /&gt;
* write(byte b[])&lt;br /&gt;
* write(byte b[], int off, int len)&lt;br /&gt;
* flush()&lt;br /&gt;
* close()&lt;br /&gt;
* http://download.oracle.com/javase/1.4.2/docs/api/java/io/ObjectOutput.html&lt;br /&gt;
===ObjectInput interfész===&lt;br /&gt;
* throws ClassNotFoundException, [[IOException]]&lt;br /&gt;
* Object readObject()&lt;br /&gt;
* read...()&lt;br /&gt;
* public long skip(long n)&lt;br /&gt;
* public int available()&lt;br /&gt;
* public void close()&lt;br /&gt;
* http://download.oracle.com/javase/1.4.2/docs/api/java/io/ObjectInput.html&lt;br /&gt;
===Externalizable interfész===&lt;br /&gt;
* kiírás/beolvasás felüldefiniálása&lt;br /&gt;
* writeExternal(ObjectOutput out)&lt;br /&gt;
* readExternal(ObjectInput in)&lt;br /&gt;
%ATTACHURL%/srl-osztalydiagram.png&lt;br /&gt;
==3.2. Hibernate 3.0==&lt;br /&gt;
===Alkalmazás átalakítása===&lt;br /&gt;
* ID attribútumok (jól jöhet)&lt;br /&gt;
* konfigurációs fájl (xml)&lt;br /&gt;
* HSQL DB indítás&lt;br /&gt;
===Leképezés===&lt;br /&gt;
* &amp;amp;lt;hibernate-mapping&amp;amp;gt; gyökérelem&lt;br /&gt;
* &amp;amp;lt;class&amp;amp;gt; perzisztens osztály -&amp;amp;gt; tábla&lt;br /&gt;
* &amp;amp;lt;id&amp;amp;gt;, &amp;amp;lt;generator&amp;amp;gt; azonosító, generátor algoritmus (pl native)&lt;br /&gt;
* &amp;amp;lt;property&amp;amp;gt; attribútum -&amp;amp;gt; oszlop&lt;br /&gt;
* &amp;amp;lt;many-to-one&amp;amp;gt;, &amp;amp;lt;one-to-one&amp;amp;gt;, reláció&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;hibernate-mapping&amp;gt;&lt;br /&gt;
	 &amp;lt;class name=&amp;quot;auto.Person&amp;quot; table=&amp;quot;PERSON&amp;quot;&amp;gt;&lt;br /&gt;
		  &amp;lt;id name=&amp;quot;id&amp;quot; column=&amp;quot;PERSON_ID&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;generator class=&amp;quot;native&amp;quot;/&amp;gt;&lt;br /&gt;
		  &amp;lt;/id&amp;gt;&lt;br /&gt;
		  &amp;lt;property name=&amp;quot;name&amp;quot;/&amp;gt;&lt;br /&gt;
		  &amp;lt;set name=&amp;quot;cars&amp;quot; inverse=&amp;quot;true&amp;quot; cascade=&amp;quot;persist&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;key column=&amp;quot;PERSON_ID&amp;quot; not-null=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
				&amp;lt;one-to-many class=&amp;quot;auto.Car&amp;quot;/&amp;gt;&lt;br /&gt;
		  &amp;lt;/set&amp;gt;&lt;br /&gt;
	 &amp;lt;/class&amp;gt;&lt;br /&gt;
	 &amp;lt;class name=&amp;quot;auto.Car&amp;quot; table=&amp;quot;CAR&amp;quot;&amp;gt;&lt;br /&gt;
		  &amp;lt;id name=&amp;quot;id&amp;quot; column=&amp;quot;CAR_ID&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;generator class=&amp;quot;native&amp;quot;/&amp;gt;&lt;br /&gt;
		  &amp;lt;/id&amp;gt;&lt;br /&gt;
		  &amp;lt;property name=&amp;quot;platenr&amp;quot;/&amp;gt;&lt;br /&gt;
		  &amp;lt;many-to-one name=&amp;quot;owner&amp;quot; class=&amp;quot;auto.Person&amp;quot; column=&amp;quot;PERSON_ID&amp;quot; not-null=&amp;quot;true&amp;quot; cascade=&amp;quot;persist&amp;quot;/&amp;gt;&lt;br /&gt;
	 &amp;lt;/class&amp;gt;&lt;br /&gt;
&amp;lt;/hibernate-mapping&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
===Kollekciók===&lt;br /&gt;
* &amp;amp;lt;set&amp;amp;gt;, &amp;amp;lt;list&amp;amp;gt;, &amp;amp;lt;map&amp;amp;gt;, &amp;amp;lt;bag&amp;amp;gt;, &amp;amp;lt;array&amp;amp;gt;, &amp;amp;lt;&amp;amp;lt;p&amp;amp;gt;-array&amp;amp;gt;&lt;br /&gt;
* Javaban a megfelelő Collection interfészt kell használni, nem castolható&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;class name=&amp;quot;Product&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;id name=&amp;quot;serialNumber&amp;quot; column=&amp;quot;SN&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;set name=&amp;quot;parts&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;key column=&amp;quot;SN&amp;quot; not-null=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;one-to-many class=&amp;quot;Part&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/set&amp;gt;&lt;br /&gt;
&amp;lt;/class&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
===Asszociáció===&lt;br /&gt;
* kapcsolótáblát is kezel&lt;br /&gt;
* referencia más osztályokra&lt;br /&gt;
* lásd reláció (1:1, 1:n, n:m)&lt;br /&gt;
===Öröklés===&lt;br /&gt;
* Támogatott: &lt;br /&gt;
** table-per-class-hierarchy (minden egy táblában, discriminator: típusjelölő)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;class ...&amp;gt;&lt;br /&gt;
	 &amp;lt;discriminator column=&amp;quot;PAYMENT_TYPEâ\x{fffd}\x{fffd} type=&amp;quot;string&amp;quot;/&amp;gt;&lt;br /&gt;
	 &amp;lt;subclass name=&amp;quot;CredCPay&amp;quot; discriminator-value=&amp;quot;CREDIT&amp;quot;&amp;gt;&lt;br /&gt;
		  &amp;lt;property name=&amp;quot;credCType&amp;quot; column=&amp;quot;CCTYPE&amp;quot;/&amp;gt;&lt;br /&gt;
		  ...&lt;br /&gt;
	 &amp;lt;/subclass&amp;gt;&lt;br /&gt;
&amp;lt;/class&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
** table-per-subclass&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;class ...&amp;gt;&lt;br /&gt;
	 &amp;lt;joined-subclass name=&amp;quot;CredCPayment&amp;quot; table=&amp;quot;CREDIT_PAYMENT&amp;quot;&amp;gt;&lt;br /&gt;
		  &amp;lt;key column=&amp;quot;PAYMENT_ID&amp;quot;/&amp;gt;&lt;br /&gt;
		  &amp;lt;property name=&amp;quot;credCType&amp;quot; column=&amp;quot;CCTYPE&amp;quot;/&amp;gt;&lt;br /&gt;
		  ...&lt;br /&gt;
	 &amp;lt;/joined-subclass&amp;gt;&lt;br /&gt;
&amp;lt;/class&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
** table-per-concrete-class&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;class ...&amp;gt;&lt;br /&gt;
	 &amp;lt;union-subclass name=&amp;quot;CredCPayment&amp;quot; table=&amp;quot;CREDIT_PAYMENT&amp;quot;&amp;gt;&lt;br /&gt;
		  &amp;lt;property name=&amp;quot;credCType&amp;quot; column=&amp;quot;CCTYPE&amp;quot;/&amp;gt;&lt;br /&gt;
		  ...&lt;br /&gt;
	 &amp;lt;/union-subclass&amp;gt;&lt;br /&gt;
&amp;lt;/class&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Objektumok kezelése===&lt;br /&gt;
* Állapotok:&lt;br /&gt;
** tranziens - még nem kapcsolódótt&lt;br /&gt;
** perzisztens - adatbázistáblával összekötve&lt;br /&gt;
** detached - már nem kapcsolódik&lt;br /&gt;
* Műveletek:&lt;br /&gt;
** session.flush() - módosítások mentése&lt;br /&gt;
** session.update(x) - újrakapcsolódás DB-hez, mentés&lt;br /&gt;
** session.saveOrUpdate(x) - elmenti az objektumot. Ha az id property-je null, akkor SQL INSERT utasítást hajt végre, ha not null, akkor SQL UPDATE utasítást hajt végre&lt;br /&gt;
** session.merge(x) - DB-ben és memóriában lévő cuccok összefésülése&lt;br /&gt;
** session.delete(x) - törlés&lt;br /&gt;
===Tranzakciók===&lt;br /&gt;
* csak így érhető el a DB&lt;br /&gt;
* Session osztály&lt;br /&gt;
===Lekérdezések===&lt;br /&gt;
* Query q = session.createQuery(&amp;amp;hellip;);&lt;br /&gt;
* visszatérés: skalár vagy tömb&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
X x = (X)session.createQuery(..).uniqueResult();&lt;br /&gt;
List l = session.createQuery(..).list();&lt;br /&gt;
Iterator i = session.createQuery(..).iterate();&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
* paraméterek: név (:xname) vagy sorszám (? ? ?)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
q.setString(&amp;quot;x&amp;quot;, &amp;quot;param&amp;quot;);&lt;br /&gt;
q.setString(1, &amp;quot;param1&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
===HQL===&lt;br /&gt;
* From&lt;br /&gt;
* Join (inner, left outer, right outer, full outer)&lt;br /&gt;
* Select&lt;br /&gt;
* Aggregáló funkciók (avg(), sum(), min(), max(), count())&lt;br /&gt;
* Where&lt;br /&gt;
* Order by, Group by&lt;br /&gt;
* Contrainteket is kezel&lt;br /&gt;
&lt;br /&gt;
==3.3. [[PSEPro]] (ObjectStore)==&lt;br /&gt;
===Objektumok tulajdonságai===&lt;br /&gt;
* Állapotok:&lt;br /&gt;
** hollow (üres) - egy üres objektum, amibe az adatbázisból késleltetetten betölthetőek az adatok&lt;br /&gt;
** aktív - adatbázisban kapcsolatban áll&lt;br /&gt;
** clean/dirty - memóriában módosított&lt;br /&gt;
** stale (lejárt) - adatbázishoz nem kapcsolt&lt;br /&gt;
===Szálak és Sessionök===&lt;br /&gt;
* egyidőben egy adatbázishoz kapcsolódhat&lt;br /&gt;
* tetszőleges read-only tranzakciója lehet&lt;br /&gt;
* egyetlen update tranzakciója lehet&lt;br /&gt;
* session public static Session create(String host, Properties props)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// session létrehozása és törlése&lt;br /&gt;
public static Session create(String host, Properties props)&lt;br /&gt;
public boolean isActive()&lt;br /&gt;
public void terminate()&lt;br /&gt;
// szálak kapcsolódása és lecsatolása&lt;br /&gt;
public void join()&lt;br /&gt;
public static void leave()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Adatbázisok===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// adatbázis létrehozás, megnyitás, bezárás&lt;br /&gt;
public static Database create(String name, int fileMod)&lt;br /&gt;
public static Database open(String name, int openMode)&lt;br /&gt;
public void close(boolean RetainAsTransient)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Tranzakciók===&lt;br /&gt;
* egyszerre egy sessionhöz kapcsolódhat&lt;br /&gt;
* kiadhat read-lockot és update-lockot is&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public static Transaction begin(int type)&lt;br /&gt;
public void commit(int retain)&lt;br /&gt;
public void abort(int retain)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
%ATTACHURL%/os-tranzakciok.png&lt;br /&gt;
===Objektumok===&lt;br /&gt;
* perzisztenciához az objektumok root-tá tesszük&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db.createRoot(&amp;quot;foo&amp;quot;, new Integer(5));&lt;br /&gt;
int x = (int)db.getRoot(&amp;quot;foo&amp;quot;);&lt;br /&gt;
db.setRoot(&amp;quot;foo&amp;quot;, null);&lt;br /&gt;
db.destroyRoot(&amp;quot;foo&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
* minden kollekciónak megvan a maga OS... megfelelője&lt;br /&gt;
===Query===&lt;br /&gt;
* paraméteres lekérdezés (fv opcionális)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FreeVariables fv = new FreeVariables();&lt;br /&gt;
FreeVariableBindings fvb = new FreeVariableBindings();&lt;br /&gt;
fv.put(&amp;quot;IS&amp;quot;, Integer.TYPE);&lt;br /&gt;
fvb.put(&amp;quot;IS&amp;quot;, new Integer(20000));&lt;br /&gt;
&lt;br /&gt;
Query q = new Query(Person.class, &amp;quot;getSalary()&amp;gt;=IS&amp;quot;, fv);&lt;br /&gt;
Collection employees = (Collection)db.getRoot(&amp;quot;employees&amp;quot;);&lt;br /&gt;
Set result1 = q.select(employees); // több eredmény&lt;br /&gt;
Object result2 = q.pick(employees); // egyetlen eredmény&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
===Példa===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
private String dbName = &amp;quot;cardb.odb&amp;quot;;&lt;br /&gt;
private Session session;&lt;br /&gt;
private Database db;&lt;br /&gt;
private Set carOwners;&lt;br /&gt;
&lt;br /&gt;
public void initDB() {&lt;br /&gt;
	session = Session.create(null, null);&lt;br /&gt;
	session.join();&lt;br /&gt;
	try {&lt;br /&gt;
		db = Database.open(dbName, ObjectStore.UPDATE);&lt;br /&gt;
	}&lt;br /&gt;
	catch (DatabaseNotFoundException e) {&lt;br /&gt;
		db = Database.create(dbName, ObjectStore.ALL_READ | ObjectStore.ALL_WRITE);&lt;br /&gt;
	}&lt;br /&gt;
	Transaction tr = Transaction.begin(ObjectStore.UPDATE);&lt;br /&gt;
	try	{&lt;br /&gt;
		carOwners = (Set)db.getRoot(&amp;quot;OwnersRoot&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
	catch (DatabaseRootNotFoundException ex) {&lt;br /&gt;
		carOwners = new OSHashSet();&lt;br /&gt;
		db.createRoot(&amp;quot;OwnersRoot&amp;quot;, carOwners);&lt;br /&gt;
	}&lt;br /&gt;
	tr.commit(ObjectStore.RETAIN_HOLLOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [[MeszegetoBalazsIstvan|MeszegetoBalazsIstvan]] - 2008.05.27.&lt;br /&gt;
&lt;br /&gt;
-- [[PallosTamas|Velias]] - 2009.05.26.&lt;br /&gt;
&lt;br /&gt;
-- [[VadZsolt|Vad Zsolt]] - 2011.04.07.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Infoszak]]&lt;/div&gt;</summary>
		<author><name>Unknown user</name></author>
	</entry>
</feed>