找不到元素’持久性’的声明
已将persistence.xml放在eclipse中项目的类路径中,因为在错误之前找不到该文件。 现在给出了这个错误:
引起:javax.persistence.PersistenceException:无效的persistence.xml。 解析XML时出错[line:-1,column:-1]:cvc-elt.1:找不到元素’persistence’的声明
org.hibernate.ejb.HibernatePersistence
问题是你混合了JPA 2.0和JPA 2.1表示法。
这个
对于JPA 2.1或此
对于JPA 2而不是其混合。
有关详细信息,请参阅http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/persistence/index.html 。
提供的XML存在一些问题,可能是缺少的版本,也许是XML定义。 也可能是一个奇怪的角色或某个地方的错字。
下面是一个工作模板,请尝试相反。
....
我曾经遇到过类似的问题(找不到元素’entity-mappings’的声明),当我使用带有JPA版本2.0的persistence.xml和版本为2.1的orm.xml文件时。 我认为上面报告的错误是类似的。
JPA的工作样本2.仔细阅读下面的示例并记下它们的版本。 确保它们与样品中的版本相同。 您也可以使用JPA 2.1和approprite模式引用。
persistence.xml中
jdbc/sanjusDataSourceXA META-INF/orm.xml org.sanjus.pa.ejb.entity.UserEntity
orm.xml中
SELECT a.userJson FROM UserEntity a WHERE a.userId = :userId
解决了!
我不知道到底出了什么问题,但效果很好:
org.hibernate.ejb.HibernatePersistence
- StAX – 从xml读取base64字符串到db
- JDBC批处理操作的理解
- Autowired Repository在Custom Constraint Validator中为空
- 只是获取id列值而不是在hibernate对象中使用join一对多关系
- 在使用FlushMode.AUTO调用session.close()时,Hibernate会刷新我更新的持久对象吗?
- 使用Spring + Hibernate / EntityManager时遇到BeanCreationException
- Hibernate:如何覆盖映射超类的属性
- Spring和hibernate.cfg.xml
- JPA辅助表作为只读视图 – hibernate仍尝试插入行