求教如何在控制台输出 当前session引用对象的地址

lttzdllf 2008-07-01 07:25:22
public List<T> getAll() {
Session session = getHibernateTemplate().getSessionFactory().getCurrentSession();
System.out.println("List_session"+session);
return super.getHibernateTemplate().loadAll(this.persistentClass);

}
程序用的是ssh框架,我想看看每次调用getAll()时使用的是不是同一个session. 所以就想用System.out.println()把这个session的地址输出来,但是我在控制台看到的是

List_sessionSessionImpl(PersistenceContext[entityKeys=[],collectionKeys=[]];ActionQueue[insertions=[] updates=[] deletions=[] collectionCreations=[] coll
ectionRemovals=[] collectionUpdates=[]])

想问一下大家这是怎么回事,一般当我们打印一个对象时,输出的不是像[test.Order@1fb8ee3]那样后面有一个十六进制数的吗?
我想可能是不是因为这个session是一个ThreaLoacl对象,所以输出的地址不一样。那我应该怎样才能看到session引用对象的地址?
...全文
445 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lttzdllf 2008-07-02
  • 打赏
  • 举报
回复
引用 3 楼 qioudong 的回复:
Session session = getHibernateTemplate().getSessionFactor().getCurrentSession();
System.out.println("List_session"+session.getId());

就是它了。。。

============================================================
兄弟,我的 session是hibernate中session,里面没有getId()方法(我刚查了hibernate3.0的文档)。不是表示保存会话状态的session。你是不是搞错了。
cnoolon 2008-07-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 qioudong 的回复:]
Session session = getHibernateTemplate().getSessionFactor().getCurrentSession();
System.out.println("List_session"+session.getId());
[/Quote]
就是它了。。。
lttzdllf 2008-07-02
  • 打赏
  • 举报
回复
Session session = getHibernateTemplate().getSessionFactor().getCurrentSession();
System.out.println("List_session"+session.getId());
==================================================
session.getId() ????session好像里面没有getId()这个方法啊?


你打印一个LiinkedList对象看看
数组类对象打印出来就是这样
================================
这位大哥能不能说清楚点,我java经验还不多,我就是想把getHibernateTemplate()里面用的session的地址显示出来,我应该怎样编写代码了
lttzdllf 2008-07-02
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20080404/20/c5a103bc-ee37-458e-85ea-2cfdf98fb347.html
大家帮帮忙,随便把我这个帖子回一下。我好把它结了。到现在还没一个人回复,我结不了。
qioudong 2008-07-02
  • 打赏
  • 举报
回复
Session session = getHibernateTemplate().getSessionFactor().getCurrentSession();
System.out.println("List_session"+session.getId());
victor_woo 2008-07-02
  • 打赏
  • 举报
回复
你打印一个LiinkedList对象看看
数组类对象打印出来就是这样
胡矣 2008-07-02
  • 打赏
  • 举报
回复
默认情况下是[test.Order@1fb8ee3]
是因为Object中的toString()方法返回的是这样的格式
这里输出的List_sessionSessionImpl(PersistenceContext[entityKeys=[],collectionKeys=[]];ActionQueue[insertions=[] updates=[] deletions=[] collectionCreations=[] coll
ectionRemovals=[] collectionUpdates=[]])
很可能是因为session中将toString()方法重写了
xuhaiyang 2008-07-02
  • 打赏
  • 举报
回复
因为hibernate重写了object的toString()方法,所以你看到的不一样了
如果你想看一般对象输出的那十六进制数的话,你就session.hashcode()就可以了

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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