所以我试图通过hibernate和jpa使用自定义查询
@Transactional
public interface EstimateOptionsDao extends JpaRepository<EstimateOptions, Integer> {
@Query("from estimateOptions options inner join options.company company inner join company.user user where user.name = :userName\n")
EstimateOptions EstimateOptions(String userName);
}
但是,这EstimateOptions
给了我以下错误:
Can't resolve symbol 'EstimateOptions' less... (Ctrl+F1)
This inspection controls whether the Persistence QL Queries are error-checked
所以我发现了这篇文章为什么Hibernate查询在IntelliJ中有编译错误?。
所以我添加了一个方面来测试:
现在我有这样的hibernate.cfg.xml:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.url"/>
<property name="connection.driver_class"/>
<property name="connection.username"/>
<property name="connection.password"/>
<!-- DB schema will be updated if needed -->
<!-- <property name="hbm2ddl.auto">update</property> -->
</session-factory>
</hibernate-configuration>
和弹簧配置是这样的:
spring.datasource.url=jdbc:mysql://localhost:3306/testdb
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
但是,如果我使用intellij的Persistence Tool进行了如下简单查询:
hql>来自用户
它产生以下错误:
[2015-12-09 12:59:27] org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class []
[2015-12-09 12:59:27] java.lang.ClassNotFoundException:
.....
如您所见,我有点迷路…这些设置有什么问题?
Project structure
设置(ctrl + alt + shift + s)中,选择Facets
和Add
。JPA
Modules
视图中,选择有问题的模块和JPA
下面的构面然后,应针对您的实体验证您的JPA查询。
我为Hibernate创建了一个自定义类型来存储OffsetDateTime的时间戳和偏移量(因为默认的JPA 2.2/Hibernate 5.2 with java 8支持实现会丢失偏移量信息): 现在,我想比较一下,所以这个JPA-QL查询可以工作: 在这个模型上: } 但这在以下方面失败了: 如何使CustomUserType具有可比性?
问题内容: 在Hibernate 3中,有没有办法等效于HQL中的以下MySQL限制? 如果可能的话,我不想使用setMaxResults。这肯定在较旧的Hibernate / HQL版本中是可行的,但似乎已经消失了。 问题答案: 几年前,当有人问到为什么它在Hibernate 2中有效但在Hibernate 3中无效时,此消息发布在Hibernate论坛上: 在HQL中,从不支持Limit 子句
我想在运行时生成的SQLite数据库上运行查询(而不是@Dao中的标准compiletime查询)。例如,我可能想在SQLite数据库中搜索一个文本列,看看它是否包含N个长度的列表中的所有单词。在原始SQLITE中,N为3的查询如下所示: 我尝试过生成并传递查询的结尾,而不是仅仅传递变量。例如: 在@Dao中: 这似乎对我不起作用。你知道如何让运行时生成的查询与Room一起工作吗? 附言:
问题内容: 我有以下参数化的JPA或Hibernate查询: 我想将参数作为ArrayList 传递,这可能吗?hibernate电流告诉我, 这有可能吗? 解答 :集合作为参数只能与“ ” 这样的命名参数一起使用,而不能与“ ”这样的JDBC样式参数一起使用。 问题答案: 您正在使用Hibernate的对象还是JPA?对于JPA,它应该可以正常工作: 对于Hibernate,您需要使用setPa
问题内容: 我对HQL查询和hibernate有疑问。 我有一个用户类和一个角色类。用户可以具有许多角色。所以我有一个像这样的ManyToMany关系: 在用户类别中: 在角色类中: 此映射创建了存储关系的第三个表(PORTAIL_USERROLE)。像这样一切正常。当我有一个用户时,我将检索角色。 但是,我的问题是:在HQL查询中,如何获得具有特定角色的所有用户?任何类都代表PORTAIL_US
我在C#中使用NUnit和Selenium来构建一个框架,其中包含在多个浏览器上运行多个测试用例。在这种情况下也支持Microsoft Edge。当我设置测试时,chrome和firefox正常运行,但edge出现以下错误: OpenQA。硒。WebDriverException:向远程WebDriver服务器发送HTTP请求以获取URL时,引发了一个响应为null的异常http://localh