- 浏览: 20616 次
- 性别:
- 来自: 北京
最新评论
-
wangboak:
aa87963014 写道删除外键和你说的这些有毛关系?无非没 ...
Hibernate 和数据库的外键关联 -
tag13346:
问题在于,日久天长,经过几拨人经手这个系统之后,有多少业务关系 ...
Hibernate 和数据库的外键关联 -
aa87963014:
删除外键和你说的这些有毛关系?无非没有了数据库的数据校验。其他 ...
Hibernate 和数据库的外键关联 -
wangboak:
treemap 写道没有问题,速度快很多但是 你必须要明白的是 ...
Hibernate 和数据库的外键关联 -
wangboak:
如何理解这个脏数据啊?
Hibernate 和数据库的外键关联
文章列表
java web开发编码处理是一个比较头疼的问题。
处理编码问题得分为两种情况:
1、post请求
2、get请求
request.setCharacterEncoding("UTF-8");设置post请求中消息体中内容按照UTF-8编码格式解码。所以只能处理post请求的请求。一般通过编码过滤器都能解决。
get请求就比较麻烦了,因为对于get请求,如果我们知道了get的编码方式(后台存在不知道是按照什么编码方式编码的情况,比如用户使用不同的浏览器直接复制了某个链接),那就得先解码,使用下面的方式:先使用原来的方式解码,在用UTF-8编码回后台程序的编码格式。为什么 ...
centos 修改主机名
需要修改两处:一处是/etc/sysconfig/network,另一处是/etc/hosts,只修改任一处会导致系统启动异常。首先切换到root用户。
vi /etc/sysconfig/network
用任一款你喜爱的编辑器打开该文件,里面有一行 HOSTNAME=localhost.localdomain (如果是默认的话),修改 localhost.localdomain 为你的主机名。
vi /etc/hosts
打开该文件,会有一行 127.0.0.1 localhost.localdomain localhost 。其中 127.0.0.1 是本地 ...
Device eth0 does not seem to be present, delaying initialization
故障背景:
在vmware workstation中了完全克隆了一个已经存在的centos的虚拟机,启动之后发现网卡没有启动。于是重启一下network服务,发现提示错误信息“Device eth0 does not seem to be present, delaying initialization.”
故障产生的原因:
由于克隆虚拟机,vmware只是修改了虚拟机的名字等信息,并没有修改虚拟硬盘中的任何信息,导致克隆后网卡的MAC地址和操作系统中记录 ...
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改以下内容
DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0
BOOTPROTO=static #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的 ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址
BROADCAST=192.168.0.255 #对应的子网广播地址
HWADDR=00:07:E9:05:E8:B4 #对应的网卡物理地址
IPADDR=12.168.1.2 #如果设置网 ...
项目中使用SSH2框架,使用Hibernate时,经常遇到一些只需更新部分字段的情况,Hibernate更新时,是将数据先加载到Hibernate中,然后更新类的属性,然后再保存(持久化到数据库中),但是有时候,由于数据比较大,比如某条数据中包含着二进制数据,光从数据库中加载到Hibernate中中就需要好长时间,然后再修改,保存,特别浪费时间和资源,但是又不需要修改二进制数据,仅仅修改下一些varchar的字段。
可以采用这样的HQL语句:
String hql = "update TblName t set t.fldName = 'zhangsan' where t.fldI ...
文中将提供一些在Java编程中影响性能的一些特点,为了能够提高Java程序的性能,而经常采用的一些方法和技巧。
1.尽量使用final修饰符。
带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String。为String类指定final防止了使用者覆盖length()方法。另外,如果一个类是final的,则该类所有方法都是final的。java编译器会寻找机会内联(inline)所有的final方法(这和具体的编译器实现有关)。此举能够使性能平均提高50%。
2.尽量重用对象。
特别是String对象的使用中,出现字符串连 ...
在使用Hibernate的时候,有时候并不想将对象的所有字段都查询出来,尤其是对象在数据库中的数据比较大时,(比如存储一些图片或者二进制文件,因为特殊的业务需求,必须这样存),在使用对象的时候,并不是用这些lob字段,就不想将这些字段一起查询出来,可以在domain域的对象中加上想查询字段的构造函数,然后hql语句使用select new Object(构造字段) from Object where 条件;
注意,在查询时,在from 后加上 from User as u,在构造函数中使用 u.name,u.等等。条件语句也是。
public class User(){
String id ...
做项目建数据库时,表与表之间的外键约束太多,导致后来数据库操作时经常出错,于是我们决定把数据中的外键都删除,只在业务逻辑上存在引用关系,在数据库中不存在实体的外键。
可是我们的代码都写到一半了呀,domain包下和javaBeandouy都已经写完,从头再来是不可能的。
于是我就将数据库中的外键都在数据库中删除掉,Hibernate的XML文件和javaBean都没有改变,经过不是很完善的测试,发现是可以的。
我想:数据库中的外键在数据库级别保证数据的完整性和一致性,但是Hibernate也在DAO层保证了数据的关联。所以,我将数据库的外键删除,是不影响Hibernate的,但是这样,我想会造 ...
Properties 是java提供的解决存储在文件中的键值对的一个类,继承了HashTable,能够处理java的标准配置文件。
但是Properties 在从文件流中读取文本时,getProperty(key)是使用ISO8859-1来解码的,所以读取中文时会乱码,需要将读取出来的字符串从ISO8859-1再编码回去,用文本的本身编码格式再解码。
String s = new String(properties.getProterty(key).getBytes[]("ISO8859-1"),"UTF-8");
UTF-8是本身的编码格式。
注意: ...
@Override是JDK5就已经有了,但有个小小的Bug,就是不支持对接口的实现,认为这不是Override
而JDK6修正了这个Bug,无论是对父类的方法覆盖还是对接口的实现都可以加上@Override
修改你的eclipse指定的编译器版本
在选项里的java compiler中指定版本至少在5.0以上
在myEclipse中改变编译器的方法:Project->Properties->Java Compiler->Configure Workspace Setting,在弹出的页面中可以进行设置。
[size=large]mysql 按照中文的拼音实现排序:
CREATE TABLE test1(
id INT NOT NULL,
NAME VARCHAR(20),
PRIMARY KEY(id)
);
排序代码:使用的函数:convert(列名 USING 字符集)
SELECT * FROM test1 ORDER BY CONVERT(NAME USING gbk) DESC;
[/size]
设置工作空间的字符集:
在菜单栏上选择window->Preferences
先设置工作空间的字符集:
General->Workspace,将 Text file Encoding 设为 Other : UTF-8
再设置其他文件:
MyEclipse->Editors 下:
将 CSS,DTD,HTML,JavaScript,JSP,XML 的 encoding都设为 UTF-8 。
设置其他文本文件的默认字符集:
Window ->Perferences ->General ->Editors ->Context Types
或者 ...