新足迹

 找回密码
 注册

精华好帖回顾

· 四年前,在西藏的那场梦 (2010-9-1) aying0122 · 我也来露一小手——橙味曲奇 (2005-8-16) NT
· 我来教你做鱼片 (2006-11-11) binbingogo · 十年回首两茫茫,返澳半年找工经历回顾有感 (2009-4-17) 北雁南飞
Advertisement
Advertisement
12
返回列表 发新帖
楼主:zn7726

IT民工问问题: JPA/Hibernate 如何确保多个访问用同一个connection [复制链接]

2010年度奖章获得者

发表于 2010-9-16 15:00 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
投靠。net大家庭把, 保證你能延年益壽。血脈兩桶。
Advertisement
Advertisement

发表于 2010-9-16 15:20 |显示全部楼层
此文章由 kawara 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kawara 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2010-9-16 14:53 发表
再問個傻問題。

既然你走entity framework路線, 為啥要直接call proc?

Performance.

Or legacy system you don't want move logic around

2010年度奖章获得者

发表于 2010-9-16 15:23 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 kawara 于 2010-9-16 15:20 发表

Performance.

Or legacy system you don't want move logic around


我是說讓entity frame 來call proc, application 要跟db 絕緣。
足迹 Reader is phenomenal. If you never used, you never lived 火速下载

2010年度奖章获得者

发表于 2010-9-16 15:28 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
這樣的話,你的application only dealing with one dataContext through your entitymanager.

in theory you should be able to application transaction to it easily?

发表于 2010-9-16 15:29 |显示全部楼层
此文章由 kawara 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kawara 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2010-9-16 15:23 发表


我是說讓entity frame 來call proc, application 要跟db 絕緣。

Agree

发表于 2010-9-16 15:30 |显示全部楼层
此文章由 zn7726 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 zn7726 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我是說讓entity frame 來call proc, application 要跟db 絕緣。

理论上对, 但是对我这个问题没帮助.
把call proc 搬到DAO里也没帮助.
关键是, 其他对象的存储通过entityManager (framework) 但是call proc需要去pool里拿connection

[ 本帖最后由 zn7726 于 2010-9-16 15:31 编辑 ]
Advertisement
Advertisement

发表于 2010-9-16 15:35 |显示全部楼层
此文章由 kawara 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kawara 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 zn7726 于 2010-9-16 15:30 发表

理论上对, 但是对我这个问题没帮助.
把call proc 搬到DAO里也没帮助.
关键是, 其他对象的存储通过entityManager (framework) 但是call proc需要去pool里拿connection

entityManager.createNativeQuery()

you said yourself.

hard to believe JPA doesn't provide call SP function

2010年度奖章获得者

发表于 2010-9-16 15:37 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 zn7726 于 2010-9-16 15:30 发表

理论上对, 但是对我这个问题没帮助.
把call proc 搬到DAO里也没帮助.
关键是, 其他对象的存储通过entityManager (framework) 但是call proc需要去pool里拿connection


嗨。。。聽起來是這個framework 太爛, 真的。 application 還要親自去那什麼connection, 真的太爛了。

你算了, 直接commit 把, 想穿點又不是什麼銀行mission criterical 系統。
有時候就是這樣的, 爛東西,就用最直接的手段好了。 有時間來玩玩星際呀。
足迹 Reader is phenomenal. If you never used, you never lived 火速下载

发表于 2010-9-16 15:42 |显示全部楼层
此文章由 dongsummer 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dongsummer 所有!转贴必须注明作者、出处和本声明,并保持内容完整
May this help?
- FYI:http://timezra.blogspot.com/2008 ... oracle-stored.html:
Call The Stored Procedure From Hibernate

Now that we have a PL/SQL Stored Procedure, we will need a way to reference it from Hibernate. We can annotate the domain Object(JPA?) with such a named query.
....
@Entity
@org.hibernate.annotations.NamedNativeQuery(name = "findByLastName", query = "call findByLastName(?, :vLastName)", callable = true, resultClass = Author.class)
@Table(name = "AUTHOR", schema = "MY_ORCL")
public class Author implements java.io.Serializable {
.....

Now we can add a method to our AuthorDAO for calling this Stored Procedure.
....
@SuppressWarnings("unchecked")
public List<Author> findByLastNameUsingStoredProcedure(final String lastName) {
  return (List<Author>) getHibernateTemplate().execute(new HibernateCallback() {
    public Object doInHibernate(final Session session) throws HibernateException, SQLException {
      return session.getNamedQuery("findByLastName") //
                    .setParameter("vLastName", lastName) //
                    .list();
    }
  });
}
....

发表于 2010-9-16 15:43 |显示全部楼层
此文章由 zn7726 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 zn7726 所有!转贴必须注明作者、出处和本声明,并保持内容完整
entityManager.createNativeQuery() 这个只能call Oracle function. package下面的procedure不行.

2010年度奖章获得者

发表于 2010-9-16 15:47 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dongsummer 于 2010-9-16 15:42 发表
May this help?
- FYI:http://timezra.blogspot.com/2008 ... oracle-stored.html:
Call The Stored Procedure From Hibernate

Now that we have a PL/SQL Stored Procedure, we will need a  ...


hardcode proc name in dataacee layer? 這種事都幹的出來?
足迹 Reader is phenomenal. If you never used, you never lived 火速下载
Advertisement
Advertisement

发表于 2010-9-16 15:50 |显示全部楼层
此文章由 zn7726 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 zn7726 所有!转贴必须注明作者、出处和本声明,并保持内容完整
有時候就是這樣的, 爛東西,就用最直接的手段好了。 有時間來玩玩星際呀。

缺个显卡

2010年度奖章获得者

发表于 2010-9-16 15:55 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
以後誰再說open source好你就跟誰急。

发表于 2010-9-16 15:57 |显示全部楼层
此文章由 huazhb 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 huazhb 所有!转贴必须注明作者、出处和本声明,并保持内容完整
java中没有象windows中的分布式Transaction吗?

发表于 2010-9-16 16:05 |显示全部楼层
此文章由 zn7726 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 zn7726 所有!转贴必须注明作者、出处和本声明,并保持内容完整
java中没有象windows中的分布式Transaction吗?

有. J2EE 没那么弱的.

#39 说的方法我也见过, 我觉得特啰嗦, 就没看完.

发表于 2010-9-16 16:06 |显示全部楼层
此文章由 zn7726 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 zn7726 所有!转贴必须注明作者、出处和本声明,并保持内容完整
hardcode proc name in dataacee layer? 這種事都幹的出來?

我记得以前都是要在配置文件里写一大堆, 然后也是NamedQuery ... 好久没用hibernate了, 忘光了.
Advertisement
Advertisement

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部