hibernate 自动建表问题 用的jpa的注解,@Column(name = "`userId`"),为什么生成的表的字段就成了user_id了,怎么让生成userId 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 简单来说,用ImprovedNamingStrategy.但是这个类默认的NamingStrategy是return addUnderscores(XXXName);XXX可以是table,或者column等等。所以需要写个新类继承一下覆盖原来的方法如果如lz所说就用原来的名字,也就很省事了:public class YourNamingStrategy extends ImprovedNamingStrategy { //以下方法全部可以自定义 public String classToTableName(String className) { return StringHelper.unqualify(className); } public String propertyToColumnName(String propertyName) { return propertyName; } public String tableName(String tableName) { return tableName; } public String columnName(String columnName) { return columnName; } public String propertyToTableName(String className, String propertyName) { return classToTableName(className) + '_' + propertyToColumnName(propertyName); }}在hibernate配置时设置这个属性就好Configuration cfg = new Configuration(); cfg.setNamingStrategy( new MyNamingStrategy() ); SessionFactory sessionFactory sf = cfg.configure().buildSessionFactory();如果在XML配置就不用多说了吧,就是一个bean而已了不知lz满意不? 不过貌似lz的结贴率很勉强啊... 哦,抱歉,原来的类写的是YourNamingStrategy 到了hibernate配置时忘记了写成了MyNamingStrategy是一个类,lz你懂得 呵呵,怎么说呢,我在提问之前用的NamingStrategy,但是是采用注入的!个人感觉比较麻烦,想寻求一个注解解决这个问题!至于你说的结贴率的问题,应该说回答的人都应该感谢的……以后懂得感恩 NamingStrategy这个策略会把大写转成小写并且前加_为了骗过他@Column(name="userid")这么写。数据库的userId和userid都是一样的。而且hibernate在发sql的时候也是都转换成小写的。 对数据库的数据判断后显示 SmartUpload取值问题!~ HQL 模糊查询 这个错误提示是什么意思?帮忙看看 webwork中<ww:action/>后台action接收参数为null?极度郁闷中 SSH中有必要为DAO生成接口么? 最近在学EJB3.0 感觉还是有点费力 hibernate3.0相关工具 分布式文本编辑器,谁能给点意见该怎么做 如何配置使用JBuilder 8环境里使用数据库连接池来做应用开发? 有人用过javafx吗 jfreechart饼图问题
但是这个类默认的NamingStrategy是return addUnderscores(XXXName);XXX可以是table,或者column等等。所以需要写个新类继承一下覆盖原来的方法如果如lz所说就用原来的名字,也就很省事了:
public class YourNamingStrategy extends ImprovedNamingStrategy {
//以下方法全部可以自定义
public String classToTableName(String className) {
return StringHelper.unqualify(className);
}
public String propertyToColumnName(String propertyName) {
return propertyName;
}
public String tableName(String tableName) {
return tableName;
}
public String columnName(String columnName) {
return columnName;
}
public String propertyToTableName(String className, String propertyName) {
return classToTableName(className) + '_'
+ propertyToColumnName(propertyName);
}
}
在hibernate配置时设置这个属性就好
Configuration cfg = new Configuration();
cfg.setNamingStrategy( new MyNamingStrategy() );
SessionFactory sessionFactory sf = cfg.configure().buildSessionFactory();
如果在XML配置就不用多说了吧,就是一个bean而已了不知lz满意不? 不过貌似lz的结贴率很勉强啊...
到了hibernate配置时忘记了写成了MyNamingStrategy是一个类,lz你懂得
至于你说的结贴率的问题,应该说回答的人都应该感谢的……
以后懂得感恩
@Column(name="userid")这么写。数据库的userId和userid都是一样的。而且hibernate在发sql的时候也是都转换成小写的。