针对Blob数据类型,hibernate可以按功能映射为blob、serializable、
binary 三种类型,serializable可以用于直接序列化对象,binary需要自己使用流进行类型转换,blob可以使用Hibernate的blobImpl,如果是与Spring框架结合的话还可以使用org.springframework.orm.
hibernate3.support.BlobByteArrayType。如果使用Binary或serializable保存比较大的内容可以将 hibernate.jdbc.
use_streams_for_binary 设为 true,以确保自动开启流功能。(注:使用的Oracle驱动可能会导致插入时报“数据大小超出此类型的最大值”
的错误,请选用正确的驱动,我使用的是使oracle 10g的数据库和驱动)
posted @
2006-10-08 14:53 小平 阅读(757) |
评论 (0) |
编辑 收藏
今天打入http:\\Localhaost:8080\admin\嗯…………
灵异事件发生了,打开的不是我的Tomcat5.0的页面阿,怎么是tomcat4.0的配置页面!
我前天刚做过的系统,没装Tomcat4.0啊这是怎么回事,晕闷了,昨天用的还好好的,闹鬼了?在刷一遍页面!还是不对,我靠,刷了无数遍,难道我是做梦?招来同事看,也不知道怎么回事,把Tomcat5停了,还能登上去。真是惊了……
打开配置页面好好研究了一番,有一个工程的目录不对,我的机器上没有这个目录,突发奇想,问了问是哪位同事的机器上有这个目录,果真有一个同事说他的机器上有,并且他开着Tomcat4.0。
真是晕死了,我把我的Tomcat5.0从新打开改成http:\\192.168.0.250:8080\登陆这回好了,问题解决了。
郁闷之时发现那台机器就是我们的代理服务器。没想到代理服务器还有着问题!!
posted @
2006-09-25 13:27 小平 阅读(268) |
评论 (0) |
编辑 收藏
1、数据实体Bean
public class Temp implements Serializable
{
private java.lang.Long id;
private Blob object; //用于存放对象的Blob
private java.lang.Long userId;
private java.util.Date appendDate;
}
2、hbm影射
<hibernate-mapping package="temp">
<class name="Temp" table="TEMP">
<id name="id" column="ID" type="long">
<generator class="sequence">
<param name="sequence">TEMP_SEQ</param>
</generator>
</id>
<property name="object" column="OBJECT" type="blob" />
<property name="userId" column="USER_ID" type="long" />
<property name="appendDate" column="APPEND_DATE" type="date" />
</class>
</hibernate-mapping>
3、save方法
public void saveTemp( ) throws IOException, ClassNotFoundException, SQLException
{
Temp temp = new Temp();
temp.setUserId(new Long(1));
temp.setAppendDate(new Date());
ByteArrayOutputStream outputstr = new ByteArrayOutputStream();
ObjectOutputStream objOutStr = new ObjectOutputStream( outputstr );
objOutStr.writeObject( contract ); //contract为要保存的对象;
BlobImpl blob = new BlobImpl(outputstr.toByteArray());
temp.setObject( blob );
saveTemp(temp); //将Temp持久化到数据库;
}
4、get方法
public void etTempList() throws IOException, ClassNotFoundException, SQLException
{
List Templist = getTempList( userId);
if( contractTemplist.size() != 0 )
{
Temp temp = ( Temp )Templist.get(0);
ObjectInputStream instr = new ObjectInputStream(temp.getObject().getBinaryStream());
Contract contract = ( Contract )instr.readObject();
}
}
posted @
2006-09-24 16:24 小平 阅读(536) |
评论 (0) |
编辑 收藏
如何控制你做的网页打印出来在一张纸上。
下面是我的解决方案:
要求:IE5。5以上。
将页面页面边距设置的“上下左右”都设为5;也可以设为0;
并将页面设为“纵向”。
然后再要打印的网页插入以下模板中(当然可以巧妙的嵌在ASP生成的网页上。):
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<!--CSS样式表插入到这里-------------------->
<!--------------------------------------->
</head>
<body bgcolor="#FFFFFF" text="#000000">
<table border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF" width="740" height="1058">
<tr>
<td>
<div id="content" style="position:absolute; z-index:1; left: 15; top: 15; background-color: #FFFFFF; layer-background-color: #FFFFFF; border: 1px none #000000">
<!--中间插入要缩印的内容------------------------->
<!-------------------------------------------------->
</div>
</td>
</tr>
</table>
<script>
//如果是横向,下面两个数值要改过来!变为:
//page_width=29*36.5
//page_height=20*37
page_width=20*37
page_height=29*36.5
zoom_width=page_width/document.all("content").scrollWidth
zoom_height=page_height/document.all("content").scrollHeight
if(zoom_width>zoom_height){
document.all("content").style.zoom=zoom_height
}
else
{
document.all("content").style.zoom=zoom_width
}
</script>
</body>
</html>
posted @
2006-09-20 11:44 小平 阅读(5410) |
评论 (0) |
编辑 收藏
中间件死机的问题终于找到原因了,Service实例没有使用自己的应该有的Interface,而是继承的Service接口,导致Dao的两个Bean无法初始化到Service实例中,同时导致在applicationContext.xml中声明的事务拦截器无法正常工作所引发
posted @
2006-09-14 11:06 小平 阅读(228) |
评论 (0) |
编辑 收藏