草庐IT

Hibernate

全部标签

java - Hibernate postgresql 通知功能

我正在编写一个使用hibernate+JPA作为ORM和postgresql9.3作为数据库后端的应用程序,我需要使用一些java代码对一些数据库事件使用react。更准确地说,我想构建一个触发器,在向表中插入新行时使用pg_notify()。我已经阅读过相关内容,但所有教程都是直接连接jdbc而不是通过hibernate。我(认为我)不能使用hibernate事件,因为行不是通过hibernate插入的,而是通过第3方应用程序插入的。有什么方法可以通过hibernate接收使用pg_notify发送的通知吗?--更新现在我有一个classCastException:java.lang

java - JPA, hibernate : OneToOne mapping with foreign key only

环境:hibernate4.1.6.finalSpring3.1.2.发布SpringJPA1.1.0.releasePostgreSQL9.1-901-1.jdbc4我决定改写问题。有2张表:publiccompany{privateLongid;privateLongname;privateaddresstable_address;}publicaddress{privateLongid;privateStringaddress;privateLongcompany_id;}注意:两个表id是连续的,没有关联。除了table.address.company_id是公司的外键。如何做

java - hibernate JTA : Read DB connection parameters per environment

我正在使用hibernate编写一个javaEE应用程序。该应用程序将在多个环境(dev、qa、prod等)上运行,并且每个环境都有单独的数据库。我想为每个环境分别设置jdbc-url、用户名、密码等hibernate属性。我当前的persistence.xml看起来像:org.hibernate.ejb.HibernatePersistenceCALLBACK我在我的java代码中使用如下持久性单元:@PersistenceContext(unitName="PU")privateEntityManagerem;有没有一种方法可以将存储在单独属性文件中的hibernate属性注入(i

java - 在遗留软件中混合编程式和声明式事务

我的问题是关于混合程序性和声明性事务可能出现的并发问题。我正在开发一个以编程方式处理数据库连接和事务的遗留软件(Spring+Hibernate)。Sessiondb=HibernateUtil.getSessionFactory().openSession();db.beginTransaction();//dostuffdb.getTransaction().commit();该软件具有更新的模块,这些模块使用带有声明式事务(@Transactional)的Spring数据架构。当从“手动”打开的事务中调用较新的Spring服务时,我们在极少数情况下遇到过MicrosoftSQLS

java - 如何更改 Hibernate CharacterTypeDescriptor 以处理空列值

我们的问题是由于源自Hibernate的字符类型描述符。我们想更改Hibernate的行为以正确解析空字符串。示例数据:1,'Berlin',17277,'','aUser'2,'London',17277,'','anotherUser'我们将hibernate与javax.persistence.Query结合使用。Stringsql="SELECT*FROMtable";Queryquery=entityManager.createNativeQuery(sql);ListresultList=query.getResultList();这会导致StringIndexOutOfB

java - Hibernate:session.load 与 session.get

我的印象是session.load()在缓存中加载代理对象,而session.get()总是访问数据库,但之后我很困惑观看JavaBrainsvideo.根据这个视频,当我们调用下面的get方法时,它正在内存中加载UserDetails的代理对象。user=(UserDetails)session.get(UserDetails.class,1);UserDetails的结构是在评论区,有人评论道:thereisnoproxyofUserclass,insteadtheproxyobjectofthecollectioniscreated.现在这里有两个问题。1st:Relatedto

java - 是否可以从与 HQL 的多对多关联中批量删除?

如果是这样,语法是什么?假设我希望Foo的一个实例与Bar的所有实例无关:在SQL中,它只是:deletefromFOO_BAR_MAPPINGwhereFOO_ID=?在HQL中,我假设它会是这样的:deletefromBar.foosfooswherefoos.id=:id(其中foos是Foo的映射集合)但似乎是错误的,给出:org.hibernate.hql.ast.QuerySyntaxException:Bar.foosisnotmapped这甚至可以用HQL实现吗? 最佳答案 要回答您的具体问题,不,据我所知,HQL是

java - 使用条件 API 获取字符串集合中具有特定元素的所有对象

我正在尝试构建一个HibernateCriteria查询来查找集合中具有特定元素的实体。我们可以以一个Book对象为例,它看起来像这样:publicclassBook{privateLongid;privateStringtitle;privateSetauthors=newHashSet();}实体映射如下:现在我想知道马特写了哪些书。使用纯SQL,我可以执行如下查询:Stringauthor="Matt";Stringquery="SELECT*FROMBook"+"WHEREBOOK_IDIN"+"(SELECTBOOK_IDFROMBook_Authors"+"WHEREaut

java - Spring 如何适应我的应用程序架构?

我目前正在使用Java重建现有的PHP应用程序。因此,我有一个现有的前端GUI和一个我正在使用的现有数据库架构。这是我正在努力的技术堆栈:jQuery,客户端Wicket,前端Spring,???hibernate,ORMMySQL,数据库在阅读WicketInAction和Hibernate文档中的Spring之前,我设想通过我自己的业务逻辑将两者连接在一起。我有使用JBossSeam的经验,但我被告知Spring几乎没有可比性(尽管文档另有建议,IMO)。没有将一本关于Spring的书添加到我的阅读列表中(我还没有找到一本评价很好的合适的书),我不知所措。Spring将在此技术堆栈

java - 如何将实体绑定(bind)到特定的持久性单元

在使用struts2ejbhibernate的Web应用程序中,是否可以告诉应用程序为特定的持久性单元名称查找或创建实体,该名称写在persistence.xml文件中,在部署时间?我在persistence.xml中有两个持久化单元和一个数据源(包括两个“local-tx-datasource”)jboss节点下的xml文件。澄清一下,我的意思是,我试过了;@Entity@PersistenceContext(unitName="MYJNDINAMEspecifiedinpersistence.xml")publicabstractclassVehicle{并不起作用..然后尝试了这