BAE 环境下 hibernate annotations 配置
ejb3-persistence.jar 提供了 javax.persistence.*
hibernate-jpa-2.0-api-1.0.1.Final.jar 提供了 Hibernate对注解的支持
接着配置 hibernate.cfg.xml 加入下面的代码 添加POJO的持久化类映射
<mapping class="bean.XXX" />
之后可以持久化 bean.XXX 类了
但是之后就可能会 发现一个问题,尤其是原本在 windows下开发的。 这个问题就是数据库里的 表名大小写问题,在 windows 下mysq 的表名l默认大小写是不敏感的,但是在 linux 下 mysql 的默认是大小写是敏感的,虽然可以通过对 mysql的配置文件 my.ini 进行修改,在 [mysqld] 后添加
lower_case_table_names=
当前的环境是 BAE ,显然不可能 修改 my.ini
由于Hibernate 再解析 hql 的时候把表名转换成了纯小写,但是在自动生成表的时候 如果不修改默认映射表名的话 会根据类名生成表,这导致了在 实际做数据库操作的时候导致错误:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'llXXxMuiXhSwIXFSiXxk.users' doesn't exist
这样一来就需要把默认表名改掉,改成小写的这样生成的表和实际操作的表名就一致了。
但是这里又可能会有一个错误:
import org.hibernate.annotations.Table;
/**
* Users entity. @author MyEclipse Persistence Tools
*/
@Entity
@Table(appliesTo="Users")
很多人可能都是这样配置的,但是 @org.hibernate.annotations.Table
is a complement, not a replacement to@javax.persistence.Table
@org.hibernate.annotations.Table 它只是一个补充不是替代 @javax.persistence.Table 。
如果想通过修改 appliesTo 的值来修改 映射的表名就会发生错误,这个错误不会导致 在 BAE 中不能发布,但是访问站点的时候就会出现 404 ,通过查看日志就会发现 WARNING ,错误为:
org.hibernate.AnnotationException: @org.hibernate.annotations.Table references an unknown table: users
实际上想改变默认的表名,必须使用 @javax.persistence.Table ,代码如下:
import javax.persistence.Table; /**
* Users entity. @author MyEclipse Persistence Tools
*/
@Entity
@Table(name="users")
这样就修改掉默认的映射表名,数据库也能正常使用了
BAE 环境下 hibernate annotations 配置的更多相关文章
- 百度BAE环境下WordPress安装教程
不了解代码的童鞋慎重使用这种方法哦,安装过程中可能会出现一些简单的错误. 前两天有位网友在QQ上联系我,他告诉我自己在百度BAE上安装WordPress程序总是出错.我让他按照网络上的教程逐步安装,但 ...
- Ubuntu环境下的Redis 配置与C++使用入门
Redis是一个高性能的key-value数据库. Redisedis的出现,非常大程度补偿了memcached这类key/value存储的不足,在部分场合能够对关系数据库起到非常好的补充作用.它 ...
- Windows环境下完全手工配置Apache、MySQL和PHP
现在LAMP(Linux.Apache.MySQL.PHP/Perl/Python的简称)已经很流行了.在Windows下也有类似的,比如 WAMP(Apache, MySQL, PHP on Win ...
- 【环境配置】Linux环境下下载、配置java环境、安装eclipse、建立eclipse快捷方式详解
一.首先是下载Java JDK 到目前为止的最新版本为(jdk1.8.0_60),有两种方式进行下载: 1.使用shell来进行下载,可使用如下命令直接进行下载: wget --no-check-ce ...
- windows环境下Mongodb分片配置
使用MongoDB的GridFS来存储文件,以前一直使用单个服务,分布式环境也一直没有配置成功,今天参考了几位大神的文章终于配置成功,再也不用担心文件存储的性能和安全啦.以下是自己部署的过程和示例,记 ...
- linux(ubuntu)环境下安装及配置JDK
安装完IDEA之后遇到了问题,发现jdk安装完之后配置环境变量好困难,下面总结一下我的安装及配置方式: JDK下载链接:http://download.oracle.com/otn-pub/java/ ...
- docker环境下solr6.0配置(中文分词+拼音)
前言:这篇文章是基于之前的“linux环境下配置solr5.3详细步骤”(http://www.cnblogs.com/zhangyuan0532/p/4826740.html)进行扩展的.本篇的步骤 ...
- Mac+Docker环境下xdebug的配置
由于容器化的需要,前几天我本地也换成了docker环境.就研究了一下docker环境下phpstorm和xdebug的配置. http://www.mmfei.com/?p=453 这个博客给出了一个 ...
- SpringBoot(十三)-- 不同环境下读取不同配置
一.场景: 在开发过程中 会使用 开发的一套数据库,测试的时候 又会使用测试的数据库,生产环境中 又会切换到生产环境中.常用的方式是 注释掉一些配置,然后释放一下配置.SpringBoot提供了在不同 ...
随机推荐
- hdoj 2196 Computer【树的直径求所有的以任意节点为起点的一个最长路径】
Computer Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- 与IO相关的等待事件troubleshooting-系列5
'db file scattered read' 这是另一种常见的等待事件.他产生于Oracle从磁盘读取多个块到Buffer Cache中非连续(" scattered&q ...
- sonarQube Scanner
到现在为止,已经将sonarQube服务器搭建好,服务器是Linux服务器,基于sonarQube6.1配置的 原理关于sonarQube的工作原理,暂时还不是太清楚,据同事的分析,是在本机调用服务器 ...
- 小程序原理,生成SQL SERVER 2008 数据库所有表的结构文档
作者:wide288 , 日期:2013-7-31 以前开发中,用 MYSQL 数据库,有个小程序 生成数据库结构文档.很方便,做为开发组的文档很有用. 现在开发中用到了 SQL SERVER 200 ...
- hibernate批量删除和更新数据
转载自:http://blog.csdn.net/yuhua3272004/article/details/2909538 Hibernate3.0 採用新的基于ANTLR的HQL/SQL查询翻译器, ...
- GDB踪函数的完整调用过程 及原理
http://www.lenky.info/archives/2013/02/2202 Breakpoint , .so. (gdb) bt # .so. # .so. # .so. # .so. # ...
- codevs 1817 灾后重建
/* 暴力暴力 离线每次添边 堆优化dij 70 SPFA 80..... */ #include<iostream> #include<cstdio> #include< ...
- 实训第二天早上--hibernate之配置文件映射和注解
hibernate 逐步优化第一步 只按照步骤来提取的jre包导入错误第二步 继续封装,把增删改查提取出来,同时进行代码的封装HQL语句 be stranger in the code .be fo ...
- 学点bootstrap
- JAAS - Document
JAAS 参考文档: JAAS Reference Guide JAAS Authentication Tutorial JAAS Authorization Tutorial LoginModule ...