用Hibernate 注解来做映射已经使用很长时间了,今天发现一个问题,项目里面实体中的成员变量都不带下划线,而数据库中有下划线,不需要通过@Column指定也可以映射。
例如:类Order中一个成员变量叫orderUser, 而数据库中式order_user。
没有@Column注解指定,也能把这两个字段关联上。请问是Hibernate的自己的特性,还是哪儿配置了
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
mars610
2012-10-18 17:26浏览 627
Hibernate 映射字段问题
- 写回答
- 好问题 提建议
- 追加酬金
- 关注问题
微信扫一扫
分享- 邀请回答
2条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
jinnianshilongnian 2012-10-18 17:36最佳回答 专家已采纳org.hibernate.cfg.ImprovedNamingStrategy实现的
hibernate配置
protected static String addUnderscores(String name) {
StringBuffer buf = new StringBuffer( name.replace('.', '_') );
for (int i=1; i<buf.length()-1; i++) {
if (
Character.isLowerCase( buf.charAt(i-1) ) &&
Character.isUpperCase( buf.charAt(i) ) &&
Character.isLowerCase( buf.charAt(i+1) )
) {
buf.insert(i++, '_');
}
}
return buf.toString().toLowerCase();
}public String collectionTableName( String ownerEntity, String ownerEntityTable, String associatedEntity, String associatedEntityTable, String propertyName ) { return tableName( ownerEntityTable + '_' + propertyToColumnName(propertyName) ); }
采纳该答案 已采纳该答案 专家已采纳评论解决 无用打赏举报微信扫一扫
分享评论登录 后可回复...
查看更多回答(1条)
报告相同问题?
提交
相关推荐 更多相似问题
- 2016-08-10 02:23回答 1 已采纳 hibernate 映射视图 hibernate 视图映射 hibernate 视图映射 ----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自
- 2017-08-25 06:56回答 2 已采纳 hql中查询的属性需要用实体类中定义的属性, 也不能要用表名,而是实体类名
- 2015-04-25 12:55回答 1 已采纳 应该是不行的,应该对应。
- 2021-05-26 20:03hibernate2json 该实现取自 要使用添加Maven依赖项,请执行以下操作: < groupId>com.github.alaptseu</ groupId> < artifactId>hibernate2json < version>1.0 如果您喜欢快照版本: < id>oss....
- 2019-01-21 17:35DOONDO的博客 Hibernate映射类型 标准SQL类型 大小和取值范围 int/Integer int/integer INTEGER 4Byte long/Long long BIGINT 8Byte short/Short short SAMLLINT 2Byte byte/B...
- 2013-05-25 22:24hibernate实体映射文件字段设置默认值
- 2017-12-04 15:08回答 13 已采纳 类Game里的其他属性是没办法去掉的,因为你New这个Game对象时,那些属性就已经存在了,只不过hibernate根据hql查询的结果对部分属性进行了赋值。 如果你非要得到只包含部分属性的一个实体
- 2015-06-17 10:05回答 2 已采纳 java.sql.Date的启示年份是1900,使用年份的时候需要减去1900.
- 2021-05-14 09:42回答 3 已采纳 创建对应的hbm.xml文件,在文件里面配置表与javabean的映射关系。
- 2020-09-02 01:38复合主键映射用起来比普通的增加主键字段要复杂,这里我们就来共同学习Java的Hibernate框架中复合主键映射的创建和使用教程,需要的朋友可以参考下
- 2021-03-14 23:12吴冲若的博客 前言对于java开发者而言,注解应该不是一个陌生的概念,早在JavaSE阶段,例如@Override标记重写父类方法或实现接口方法,@Test标记单元测试方法,所以我们可以简单地把它理解为一种有特殊含义的标记...在开发过程中...
- 2015-10-11 21:18JIESA的博客 Hibernate 映射字段问题[ImprovedNamingStrategy] 时间 2014-05-31 17:38:06 CSDN博客 原文 http://blog.csdn.net/dracotianlong/article/details/27834143 主题 Java Hibernate 使用JPA 对于映射有3...
- 2013-01-24 09:38回答 2 已采纳 个人觉得你可以这样 1 直接使用sql语句insert,看是不是有时分秒 2 使用纯jdbc来insert 这2步下来之后你应该就会知道是不是hibernate配置文件问题了,解决问题有时候需要
- 2018-05-12 14:18回答 1 已采纳 就用 TemporalType.TIMESTAMP 至于你说的“丑”其实不重要,因为你日期输出到界面上,可以调用SimpleDateFormat 格式化下。
- 2012-10-15 18:24回答 1 已采纳 试试 select fu from Users u left join u.followedUsers fu;
- 2017-04-29 13:49lmy86263的博客 由于工程需要支持多种数据库,自然而然就想到使用Hibernate框架,但是不同的数据库提供的数据类型是不同的,Hibernate内置了针对不同数据库数据类型的映射策略。使用下面的实体类进行映射测试: @Entity (name ...
- 2021-03-06 17:14往里卷的博客 实体和数据库之间存在某种映射关系,hibernate根据这种映射关系完成数据的存取。在程序中这种映射关系由映射文件(*.hbm.xml)或者java注解(@)定义。本文以java注解的形式总结映射关系配置。实体类组件以及注解标签...
- 2017-10-30 11:31程裕强的博客 Hibernate @Transient实现临时字段映射@Transient还可以在持久化类中直接获取关联表中的字段值 @Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性 如果一个属性并非数据库表的字段映射,就...
- 2012-08-24 16:21回答 1 已采纳 是为null的显示为“”吗? 还是? 如果是为null的显示为“”,可以: 用公式 @Formula(value="case username is null then '' else u
- 2016-12-04 15:28Alan_Xiang的博客 在Java中,代表时间和日期的类型包括:java.util.Date和java.util.Calendar。此外在JDBC API中还提供了3个扩展了java.util.Date类的子类:java.sql.Date,java.sql.Time和java.sql.Timestamp,这三个类分别和标准SQL...
- 没有解决我的问题, 去提问