急求懂javax.persistence和hibernate的IT人解答
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了急求懂javax.persistence和hibernate的IT人解答相关的知识,希望对你有一定的参考价值。
本项目是通过spring管理bean,用javax.persistence映射数据库表,最近要新增数据库表,出现了一个十分不解的问题,急求解答
将javax.persistence.xml中的数据库属性配置项 <property name="hibernate.hbm2ddl.auto" value="validate" />中value改为update后,重启tomcat服务器之前正常很多正常的添加删除都不能执行了,谁能帮忙看看,实在是很迷惑,到底是什么原因,怎么解决啊
sping配置文件applicationContext.xml配置内容如下:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/esageDB" />
</bean>
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
<!-- Defining the entity manager factory container -->
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="persistenceXmlLocation" value="classpath:persistence/persistence.xml" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="database" value="mysql" />
<property name="showSql" value="false" />
</bean>
</property>
</bean>
最好clean一次输出的目录
javax.persistence NamedQuery 未按预期工作
【中文标题】javax.persistence NamedQuery 未按预期工作【英文标题】:javax.persistence NamedQuery not working as expected 【发布时间】:2013-02-11 09:44:14 【问题描述】:我可能对此很敏感,但查询没有返回我期望的结果...
我有两个表(实体):Properties 和 Landlords 如下:
属性由字段(以及其他字段)组成:Id、propertyRef 和 landLordsid(这是与表 Landlords 的多对一连接)。
Landlords 由字段(以及其他字段)组成:Id、landlordName 和用于联接的一对多 Collection。
我希望查询返回通过整数参数“landLord”传入的房东的所有属性,例如如果参数为 2,则过滤 Properties.landLordsid 等于 2。这是我当前使用的 NamedQuery,但它返回所有属性并且似乎没有过滤。
SELECT p
from Properties p
JOIN p.landLordsid l
WHERE l.id = :landLord
知道查询有什么问题吗?
【问题讨论】:
【参考方案1】:让hibernate为你做加入:
这个 HQL 应该可以工作:
from Properties p
where p.landLord.id = :landLord
注意连接是如何隐含的,“select *”也是隐含的。
【讨论】:
感谢波西米亚人的帮助。事实证明,我从以前的查询向应用程序客户端传递了一个不正确的 Map 副本,因此结果没有改变!但至少现在我知道可以隐含加入和选择。 写where p.landLord = :landLord
或p.landLord.id = :landLordId
是一个更清楚的例子。我个人更喜欢前者。以上是关于急求懂javax.persistence和hibernate的IT人解答的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 Maven2 pom.xml 获取 Hibernate + javax.persistence
JPA中@javax.persistence.Lob注解有啥意义?
java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;
小型 facelet 应用程序中的 javax.persistence.TransactionRequiredException