dynamiccomponenttest.java
来自「hibernate-3.0.5 中文文档」· 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 + -
显示快捷键?