![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hibernate
文章平均质量分 52
snowclash
这个作者很懒,什么都没留下…
展开
-
hibernate的xml配置中<class table="ADDRESS" lazy="false"对应的annotation配置
<br />在hibernate中,如果在xml配置文件中配置了<class table="ADDRESS" lazy="false" name="xxx.dao.impl.Address">,这里的lazy=false对应的annotation配置为@org.hibernate.annotations.Proxy(lazy = false)<br />其他的一些对应包括:<br /><property name="updatedDate" type="java.sql.Timestamp" access=原创 2010-07-13 11:41:00 · 3363 阅读 · 0 评论 -
hibernate使用annotation配置时将@Id配置到字段field上和get方法上的区别
原来看hibernate的书时,书上都提到hibernate在延迟加载一个对象时,是生成该对象的一个代理对象。之后如果是读取该对象的id,由于id已经存在,所以直接返回id,只有在读取其他属性时,hibernate才会到数据库里加载该对象。上午看了一篇文章《EJB 3.0 Annotations with Hibernate Lazy Loading》,里面说到当在field上配置@Id时,如:@Entity public class Address { @Id @GeneratedValue原创 2010-07-13 18:18:00 · 3681 阅读 · 0 评论 -
Hibernate通过SQL查询常量时只能返回第一个字符的解决方法
在Hibernate中如果通过session..createSQLQuery("select '合计' as name from dual").list()查询,返回值中只会有一个“合”字。经查,常量在数据库中被认为是CHAR类型的,Hibernate取值时将其保存未Character类型,而Character只能保存一个字符,所以造成返回值中只存在一个字符。Hibernate官方已存在此bug ,却从未修复。该bug中给出2中解决方法:1.继承一个Dialect,并注册CHAR类的对应方式。代码如下原创 2011-02-22 18:58:00 · 6130 阅读 · 4 评论 -
在数据库中使用关键字作为字段名
在SQL Server中可以用方括号[]或双引号"包围关键字。在Oracle中只能用双引号"包围关键字。但由于Oracle中双引号内的字符串是区分大小写的,而不管创建表还是查询时,Oracle都会把字段名转成全部大写,所以,除非创建表时双引号内的字段名就是全大写的,否则以后查询时SQL语句都必须加双引号,若不加则Oracle内部会把字段名转成全大写从而提示“无效的标识符”。同理,查询普通字段也可以通过加双引号查询得出,但双引号内的字段名必须是全大写,例如SELECT "ANY_FIELD_NAME" FRO原创 2011-05-05 18:20:00 · 11788 阅读 · 4 评论