`
wangfeng_hlj
  • 浏览: 3878 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

hibernate any元素在sqlserver中的使用

阅读更多
any元素可以把pojo的一个属性根据一个类型字段映射分别成不同的类。我的项目原来是Oracle数据库,现在换成sqlserver。对any元素的字段的查询总是报错。我看到生成的Sql语句类似于。(prop_type,prop_id) in ((?,?)).我把sql语句在oracle就可正常执行。想来应该SqlServer不支持这种语法。我换了种方法即可正常查询。
 例如,hbm.xml配置 
 
<any name="object" meta-type="character" id-type="long" cascade="all">
						<meta-value value="O" class="One"/>
						<meta-value value="M" class="Many"/>
						<column name="clazz" length="100"/>
						<column name="gen_id"/>
					</any>
  

查询语句可以写为
session.find(
"from Bar bar where bar.object.id = ? and bar.object.class = ?",
new Object[] { oid, new Character('O') },
new Type[] { Hibernate.LONG, Hibernate.CHARACTER }
oid 是one类的主键字段。这里object的类型为One。因为type=o(字母o).
object.id 表示引用对象的主键,
object.class 表示引用对象的类型meta-value 的value值

这样就可以进行正常查询了。
分享到:
评论

相关推荐

    Hibernate不同数据库的连接及SQL方言

    我们可以在配置文件中使用元素来设置SQL方言,例如: &lt;property name="dialect"&gt;org.hibernate.dialect.SQLServerDialect 在上面的配置中,我们使用了org.hibernate.dialect.SQLServerDialect SQL方言来生成适合...

    解決 SQL Server & Hibernate 一起使用,造成死結問題

    This is a bit like the way Hibernate uses optimistic locking for versioned objects. The benefit is that lock contention is totally removed because there aren’t any locks on rows! This means that ...

    数据库连接字符串

    sqlserver: class:com.microsoft.sqlserver.jdbc.SQLServerDriver url:"jdbc:sqlserver://localhost:1433;DatabaseName=ReportServerTempDB","sa","123456" mysql: class:com.mysql.jdbc.Driver url:"jdbc:mysql:/...

    Hibernate Reference Documentation3.1

    3.8. J2EE Application Server integration 3.8.1. Transaction strategy configuration 3.8.2. JNDI-bound SessionFactory 3.8.3. Current Session context management with JTA 3.8.4. JMX deployment 4. ...

    SQL21自学通

    - 可以在子查询中使用COUNT、SUM等函数,以获取更复杂的查询结果。 - **子查询的嵌套:** - 子查询可以相互嵌套,形成多层查询结构。 - **相关子查询:** - 相关子查询依赖于外部查询的值,因此每次外部查询...

    nhibernate2.1.2帮助

    ### NHibernate 2.1.2 帮助手册知识点详解 ...- **引用标识符**:如何在SQL查询中使用引用标识符。 以上内容为NHibernate 2.1.2帮助手册的核心知识点概述,希望能帮助您更好地理解和掌握NHibernate的应用。

    nhibernate reference

    #### 快速入门:使用 IIS 和 Microsoft SQL Server 本章节将向用户展示如何快速地通过 IIS 和 Microsoft SQL Server 来启动 NHibernate 的应用。 - **1.1 开始使用 NHibernate**:介绍了安装与配置 NHibernate 的...

    New NHibernate + Sample Source Part2

    Stored procedures are supported on Microsoft SQL Server. * Support for "conversations" - NHibernate supports long-lived persistence contexts, detach/reattach of objects, and takes care of ...

    New NHibernate + Sample Source Part1

    Stored procedures are supported on Microsoft SQL Server. * Support for "conversations" - NHibernate supports long-lived persistence contexts, detach/reattach of objects, and takes care of ...

    NHibernate 2.0.1 + Movies + Sample Source Part2

    Stored procedures are supported on Microsoft SQL Server. * Support for "conversations" - NHibernate supports long-lived persistence contexts, detach/reattach of objects, and takes care of ...

    oracle从基础到精通

    - ORM框架(如Hibernate、Entity Framework)将SQL操作封装在面向对象的上下文中。 #### 二、SELECT语句的使用 - **一般的语法规则:** - SELECT用于从表中检索数据。 - FROM指定数据来源。 - WHERE用于添加...

    spring chm文档

    在应用服务器中使用Hibernate的注意点 12.3. JDO 12.3.1. 建立PersistenceManagerFactory 12.3.2. JdoTemplate和JdoDaoSupport 12.3.3. 基于原生的JDO API实现DAO 12.3.4. 事务管理 12.3.5. JdoDialect 12.4...

    oracle入门基础教程全面详细

    - **多行子查询**:学习多行子查询中的IN、ANY、ALL等关键字的使用方法。 - **嵌套子查询**:掌握嵌套子查询的书写规则及注意事项。 #### 八、高级查询 - **子查询与表**:深入探讨子查询与表之间的关联使用。 - **...

    springboot 集成jpa案例

    在本案例中,我们将深入探讨如何将SpringBoot与Java Persistence API (JPA)结合,以便轻松地管理和操作数据库。JPA是Java EE的一部分,用于对象关系映射(ORM),它允许开发人员使用面向对象的编程模型处理关系...

    play框架手册

    但是我们可以在一个完全不同的类里定义一些拦截器,然后在任何控制器里使用@With注释来链接他们。 - 42 - Session和Flash作用域 - 42 - 04.模板引擎 - 43 - 模板语法 - 43 - Expressions: ${…} - 44 - Template ...

    spring-boot-reference.pdf

    51.4. Customizing the Management Server Address 51.5. Disabling HTTP Endpoints 52. Monitoring and Management over JMX 52.1. Customizing MBean Names 52.2. Disabling JMX Endpoints 52.3. Using Jolokia ...

Global site tag (gtag.js) - Google Analytics