@Table @Column 自动生成表名列名问题!

宇宙最强皮皮虾 2016-07-05 08:07:28

package com.cicro.bms.entity.user;

import java.io.Serializable;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.OrderBy;
import javax.persistence.Table;

import com.cea.core.modules.entity.IdEntity;
import com.cicro.bms.entity.organization.OrganizationBean;
import com.cicro.bms.entity.role.RoleBean;
import com.google.common.collect.Lists;

/**
* 用户信息
*/
@Entity
@Table(name = "BMS_User")
public class UserBean extends IdEntity implements Serializable {

private static final long serialVersionUID = 1L;

private String username; //用户名

private String password; //密码

@Column(name="userName")
public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

@Column(name="passWord")
public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}
}




问题:

我使用的JPA自动生成的表,但是为什么

@Table(name = "BMS_User") 这个生成表之后的表名会自动给我转换为小写bms_user

@Column(name="userName")
@Column(name="passWord")
而这两个自动生成之后会给我生成为user_name和pass_word。 现在的编码规范是不能用下划线的,请问如何解决才能让他按照我的规则来?
...全文
378 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
阳光越来越暖 2016-07-06
  • 打赏
  • 举报
回复
数据库好像不区分大小写
  • 打赏
  • 举报
回复
修改applicationContext.xml中的命名规则:

<!-- Jpa Entity Manager 配置 -->
	<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="jpaVendorAdapter" ref="hibernateJpaVendorAdapter" />
		<property name="packagesToScan" value="com.cicro.bms" />
		<property name="jpaProperties">
			<props>
				<!-- 命名规则 -->
				<prop key="hibernate.ejb.naming_strategy">org.hibernate.cfg.DefaultNamingStrategy</prop>
				<!-- <prop key="hibernate.ejb.naming_strategy">org.hibernate.cfg.ImprovedNamingStrategy</prop> -->
				<prop key="hibernate.hbm2ddl.auto">update</prop>
			</props>
		</property>
	</bean>
<prop key="hibernate.ejb.naming_strategy">org.hibernate.cfg.ImprovedNamingStrategy</prop> 改为 <prop key="hibernate.ejb.naming_strategy">org.hibernate.cfg.DefaultNamingStrategy</prop>
Redkale 2016-07-05
  • 打赏
  • 举报
回复
你可以用这个 http://redkale.org/source.html 更简单

50,535

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧