dynamiccomponenttest.java
来自「好东西,hibernate-3.2.0,他是一开元的树杖hibernate-3.」· Java 代码 · 共 85 行
JAVA
85 行
package org.hibernate.test.component;
import java.util.HashMap;
import java.util.List;
import org.hibernate.classic.Session;
import org.hibernate.test.TestCase;
public class DynamicComponentTest extends TestCase {
public DynamicComponentTest(String x) {
super(x);
}
public void testQuery() throws Exception {
Session session = openSession();
A a = new A(1);
a.setDynComp(new HashMap());
a.getDynComp().put("a", "a-a");
session.save(a);
B b = new B(2);
b.setDynComp(new HashMap());
b.getDynComp().put("a", "b-a");
b.getDynComp().put("b", "b-b");
session.save(b);
C c = new C(3);
c.setDynComp(new HashMap());
c.getDynComp().put("a", "c-a");
c.getDynComp().put("b", "c-b");
c.getDynComp().put("c", "c-c");
session.save(c);
session.flush();
List list = session.createQuery("from A a where a.dynComp.a = ?")
.setParameter(0, "a-a")
.list();
assertEquals(1, list.size());
assertTrue(a.equals(list.get(0)));
list = session.createQuery("from B b where b.dynComp.b = ?")
.setParameter(0, "b-b")
.list();
assertEquals(1, list.size());
assertTrue(b.equals(list.get(0)));
list = session.createQuery("from B b where b.dynComp.a = ?")
.setParameter(0, "b-a")
.list();
assertEquals(1, list.size());
assertTrue(b.equals(list.get(0)));
list = session.createQuery("from C c where c.dynComp.c = ?")
.setParameter(0, "c-c")
.list();
list = session.createQuery("from C c where c.dynComp.b = ?")
.setParameter(0, "c-b")
.list();
list = session.createQuery("from C c where c.dynComp.a = ?")
.setParameter(0, "c-a")
.list();
assertEquals(1, list.size());
assertTrue(c.equals(list.get(0)));
session.delete(c);
session.delete(b);
session.delete(a);
session.close();
}
protected String[] getMappings() {
return new String[] { "component/ABC.hbm.xml" };
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?