Liny_@NotePad

沉迷ACG中

firefox未保存Cookies登录状态。。

重装系统后换了一个ff安装程式就变成酱紫,百度了一下,运用:

  • 在about:config中增加network.cookie.maxNumber及network.cookie.maxPerHost两项(我的原来没有,手工加了一个)
  • 在about:config中修改general.useragent.override值(我的原来没有,手工加了一个)

重新开启就有保存了 = =。

如果还有问题,可以参考下cookies.sqlite造成FireFox登录状态不能保存的问题

JDK安装出错无法重装……

恩。在安装的时候终止了,于是安装出错,在控制面板里面无法删除,最后到注册表里找到HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products 删掉里面Product Name为Java Develop Kit...的文件夹即可。

MyEclipse導出的war包..

話說之前交代碼時,發現源碼包30M,而導出的war包有60M,無比囧。

查了一下,發現是包複製了的關係。

我原來在WEB-INF/lib目錄下放了多個目錄來區分不同的jar包(如commons、hibernate、spring等)。

在MyEclipse導出時將這些目錄裏面的內容都複製了一份放在根目錄中。

原來裏面的目錄是訪問不到的囧,將那些目錄幹掉后就余29M了。。。

看來以後導出的時候需要自己修改war包裏面的目錄,或者在開發過程中就不區分目錄。

修改Oracle 10g Express的默认端口

原本装虚拟机里的,但是每次都开虚拟机实在是太卡了,因此便下了个200+M的express。

居然默认用8080端口,和tomcat冲突,于是百度之,原来在命令窗口里输入以下即可:

call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(),'/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()',8081));

同理的,修改ftp端口则是修改ftpconfig/ftp-port的text()。

tag s:property must be empty, but is not

写struts2标签的时候遇到好多次这个问题。。

每次都匆忙地去检查action里面是不是为null、property的value是不是写错了。。

结果最后google都告诉我 是我没有加结束符……(<s:property value="xxx" />)特此笔记。。

Oracle居然没有默认按主键排序。。

囧死了。。按照oracle官方的说法有:

Oracle assigns a ROWNUM value to each row as it is retrieved, before rows are sorted for an ORDER BY clause, so an ORDER BY clause normally does not affect the ROWNUM of each row. However, if an ORDER BY clause causes Oracle to use an index to access the data, Oracle may retrieve the rows in a different order than without the index, so the ROWNUMs may be different than they would be without the ORDER BY clause.

好无语。。巨讨厌。。最后为每个实体类加了一个返回排序的方法,在泛型DAO里面用。无比郁闷。ORACLE真爱搞特殊化,存储过程已经能灭杀人了连排序都…… TAT。

no transaction in progress

用Spring做事务管理,在配JPA的时候出问题,原来用Hibernate的时候就没问题的,换JPA就报这个错:no transaction in progress

百度不到,google之,得解:

Use the spring transaction annotations (which must be enabled on the context) 
For getters use the @Transactional(propagation = Propagation.SUPPORTS). This will ensure a session will actually be openend. 
For create/update/delete use the @Transactional(propagation = Propagation.REQUIRED) to ensure that a either new transaction will be started, or the call on the DAO participates on the current transaction. 

 

原本只在IBaseDao上注明事务,现在要对每个方法都注解一下才可用,囧rz,不知道会是哪里出了问题。

ORA-02266: 表中的唯一/主键被启用的外部关键字引用

在想要截断表的时候报了这个错误,原因是表中的主键被其他表的字段引用了。

解决方法是先禁用表的主键约束,等截断后再启用:

ALTER TABLE title DISABLE PRIMARY KEY CASCADE;
TRUNCATE TABLE title;
ALTER TABLE title ENABLE PRIMARY KEY;
ALTER TABLE title_configure ENABLE CONSTRAINT fk_titlecfg_titleID;

* 注意的是在ENABLE主键后不会自动恢复外键(没有cascade选项),因此需要手工对引用该键的约束进行ENABLE。